IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macros couper-coller avec fonction si


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Bonjour j'ai tenté de faire une macro qui si elle tombe sur une valleur positif alors elle coupe la valeur dans la colonne C et la colle dans la colonne D mais ça me fait autre chose, quelqu'un pourrait me corriger ma macros svp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub déplacement()
     
    For i = 14 To 40
     
        If Cells(i, 3).Value <> Cells(i, 3) * (-1) Then
     
            Cells(i, 3).Select
            Selection.Cut
            Cells(i, 4).Select
            ActiveSheet.Paste
     
        End If    
     
    Next i
     
    End Sub

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    t'aurais pu expliquer le autre chose !
    Faut bien dire que le test de ton code est plutôt idiot : c'est quoi chez toi une valeur positive ?

    Voici une manière parmi différentes possibles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Deplacement()
             Dim Rg As Range
        For Each Rg In Range("C14:C40")
            With Rg
                If .Value > 0 Then .Offset(, 1).Value = .Value: .ClearContents
            End With
        Next
    End Sub

    _________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    _________________________________________________________________________________________________
    Deux choses sont infinies : l’Univers et la bêtise humaine.
    Mais en ce qui concerne l’Univers, je n’en ai pas encore acquis la certitude absolue ! (Albert Einstein)

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Autre solution
    Si tu veux du code ressemblant à ce que tu avais codé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub déplacement()
     
    	For i = 14 To 40
     
    	    If Cells(i, 3).Value < 0 Then
     
     	       	Cells(i, 3).Select
           		Selection.Cut
    	        Cells(i, 4).Select
            	ActiveSheet.Paste
     
    	    End If
     
    	Next i
     
    End Sub

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Merci, c'est magnifique.

    Le autre chose dans le 1er code ça ça me couper en C14 pour la coller en D40 et dans le 2nd code, ça me couper toute la colonne C et ça me la coller en D, en tout cas merci car je débute

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. couper coller avec condition
    Par cyr.il10 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/12/2011, 00h27
  2. [XL-2000] macro copier coller avec condition ne marche pas
    Par antfo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 17/03/2010, 10h54
  3. Couper-Coller avec Suppression lignes vides
    Par tounsy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/05/2008, 15h40
  4. Macro copier/coller avec tri
    Par Lechette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/03/2008, 12h44
  5. Couper coller avec OpenGL
    Par GETah dans le forum OpenGL
    Réponses: 2
    Dernier message: 02/10/2006, 19h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo