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
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")
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
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
Re,
Excuse moi de revenir !
Mais à quoi sert de vérifier tout une colonne alors qu'il est question que de la cellule Q2 à vérifier !
Il n'y a donc pas besoin de faire une boucle !
Bonne journée !
Re,
Bon sang, tu n'as rien compris !
Tu fais une analyse de la cellule Q2 !
Il n'y a pas besoin de vérifier toute la colonne Q !
Essai ceci qui revient à la même solution :
VB:
Sub test3()
Dim cellule As Range
If Range("Q2") = "" Then ' => SI condition validée ALORS
Range("Q2") = Range("X2")
End If
End Sub
For Each cellule In Range("X1", Cells(Rows.Count, "X").End(xlUp))
If Cells(cellule.Row, "Q") = "" Then ' => SI condition validée ALORS
Cells(cellule.Row, "Q") = Range("X2")
End If
Next cellule
Mercid e ton aide c'est mieux il fait bien la boucle sur les autres celulles de la colonnes Q mais il prend toujours la veleur en Q2 alrsque pour Q2 = X2; Q3 = X3; Q4 = X4 Etc..
For Each cellule In Range("X1", Cells(Rows.Count, "X").End(xlUp))
If Cells(cellule.Row, "Q") = "" Then ' => SI condition validée ALORS
Cells(cellule.Row, "Q") = Range("X2")
End If
Next cellule
Bonjour danielco,
Dans ce code il n'est plus question de la cellule Q2 !
Donc Q2 ne servait à rien !
Erreur de geekpod qui c'est mal exprimé !
Bonne journée !
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