Effectuer une boucle sur une condition

Bonjour à tous

je suis actuellement novice en VBA et comme beaucoup de personnes je rencontre des problemes :

Ma problematique :

je voudrais copier une valeur d'une cellule que si deux conditions sont respectées et la coller dans une autre feuille

Exemple : je copie la cellule C1 que si dans la cellule A1 =manuel et la cellule B1=20

comment puis je faire deux conditions mais surtout effectuer une bloucle qui va tester les autres lignes ? A2,A3 etc

j'espere etre clair merci

loic

Bonjour,

1) Définir la feuille cible : ex. : variable wsC As Worksheet (déclaration), initialisée :

    Set wsC = Worksheets("NomFeuil")

2) Définir la première cellule cible dans cette feuille : ex. : variable nn% (déclaration var. Integer), initialisée :

    nn = 2

On peut l'initialiser sur la première ligne vide, etc.

3) Se situer dans la feuille source :

    With ActiveSheet
        '...
    End With

Cela si on opère par ex. à partir d'un bouton situé sur la feuille, sinon préférable utiliser le nom de feuille...

4) Définir le parcours dans la feuille source : ex. n% (var. Integer pour chercher la dernière ligne) et i% (var. compteur de boucle) :

        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 1 To n
            If .Cells(i, 1) = "manuel" And .Cells(i, 2) = 20 Then
                'Si condition vérifiée, on opèrera le transfert...
            End If
        Next i

(Noter que les points devant .Cells font se référer l'expression à la feuille mise sous bloc With...)

5) Si la condition est vérifiée :

                wsc.Cells(nn, 1) = .Cells(i, 3)
                nn = nn + 1

On n'a qu'une valeur de cellule à affecter à une autre cellule, on peut donc se dispenser de copier puis de coller, en affectant la valeur de la cellule source à la cellule cible, directement ! (Ce qui est toujours possible dès lors qu'il s'agit de reproduire des valeurs d'une plage à une autre : pas besoin de copier-coller, et c'est plus rapide !)

A la fin on aura transféré toutes les valeurs voulues...

Cordialement.

merci pour votre reactivité je vais donc tester et vous revenir

Rechercher des sujets similaires à "effectuer boucle condition"