Fonction SI avec boucle en VBA

Bonjour,

Je souhaiterais faire une macro en VBA qui dit que si il y a rien dans la cellule Q2 alors de mettre la valeur de X2 et que si il y a une valeur déjà inscrite dans Q2 de ne rien faire.
Je souhaiterais ensuite quel effectue une boucle pour vérifier toutes les cellules de la colonne Q.
Voici ce que j'ai essayé fonctionne sur la cellule Q2 met je n'arrive pas à bouclé sur les autres cellules Q3,Q4...

Je n'ai pas mis mon fichier en pièce jointe car il y a beaucoup de donné et macro dedans pour l’alléger

1er essai :
Sub test3()

Dim cellule As Range

For Each cellule In Range("Q:Q")

If Range("Q2") = "" Then ' => SI condition validée ALORS

Range("Q2") = Range("X2")

End If

Next cellule

End Sub

2ème essai:
Sub test4()

For Each cellule
In Range("B1", Cells(Rows.Count, 2).End(xlUp))

If Range("Q2") = "" Then ' => SI condition validée ALORS

Range("Q2") = Range("X2")

End If

Next cellule

End Sub

Bonjour,

A tester :

Sub test14587()
Dim rngCel As Range
For Each rngCel In Range("Q2", Cells(Rows.Count, 17).End(xlUp))
    If rngCel.Value = "" Then ' => SI condition validée ALORS
        rngCel.Value = Range("X" & rngCel.Row).Value
    End If
Next rngCel
End Sub

Bonjour, salut pijaku !

@geekpok : faire une boucle sur un élément qu'on utilise pas ensuite, c'est concept...

Je débute en VBA donc je suis un peu perdu.

Merci beaucoup ça fonctionne qur sur Q2 pas les celulles suivante Q3, Q4 ...

Je débute en VBA donc je suis un peu perdu.

Merci beaucoup ça fonctionne qur sur Q2 pas les celulles suivante Q3, Q4 ...

C'est bon ça fonctionne merci de ton aide

Je post mon code si il peux servir à quelqu'un

Dim cellule As Range

For Each cellule In Range("X2", Cells(Rows.Count, "X").End(xlUp)) If Cells(cellule.Row, "Q") = "" Then ' => SI condition validée ALORS

Cells(cellule.Row, "Q") = cellule

End If

Next cellule

End Sub

Rechercher des sujets similaires à "fonction boucle vba"