[VBA] - Probleme de boucle
Résolu
Jeyjey1
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
J'ai créer le code ci dessous qui me permet suivant que les 4 premiers caracteres d'une cellule soient egaux aux 4 autres de la cellule du dessus, si c'est le cas des informations s'affichent dans une cellule vide
Le problème c'est que ça fonctionne pour qu'une ligne.Pourriez vous me dire comment boucler le code sur toutes les lignes
Merci
Sub MarqueLesDoublons()
If Left(C16, 5) = C15 Then
Range("Y16").Value = "MT en " & Range("H16").Value & " " & Range("D16").Value & " " & "le " & Range("W16").Value & " " & "par " & Range("M16").Value & " " & Range("V16").Value
End If
End Sub
J'ai créer le code ci dessous qui me permet suivant que les 4 premiers caracteres d'une cellule soient egaux aux 4 autres de la cellule du dessus, si c'est le cas des informations s'affichent dans une cellule vide
Le problème c'est que ça fonctionne pour qu'une ligne.Pourriez vous me dire comment boucler le code sur toutes les lignes
Merci
Sub MarqueLesDoublons()
If Left(C16, 5) = C15 Then
Range("Y16").Value = "MT en " & Range("H16").Value & " " & Range("D16").Value & " " & "le " & Range("W16").Value & " " & "par " & Range("M16").Value & " " & Range("V16").Value
End If
End Sub
7 réponses
Bonjour,
En lui disant "s'il te plaît" peut être ...
Non plus sérieusement, pour qu'un code s'exécute, il faut un évènement déclencheur ... tu nous donnes trop peu d'informations pour que l'on puisse d'aider. Quand veux-tu que ta procédure MarqueLesDoublons s'éxécute ??? Quelle est la plage à parcourir ??? etc ...
;o)
Polux
En lui disant "s'il te plaît" peut être ...
Non plus sérieusement, pour qu'un code s'exécute, il faut un évènement déclencheur ... tu nous donnes trop peu d'informations pour que l'on puisse d'aider. Quand veux-tu que ta procédure MarqueLesDoublons s'éxécute ??? Quelle est la plage à parcourir ??? etc ...
;o)
Polux
En fait ce qui m'embete c'est les valeurs, comment lui dire juste en disant qu on se trouve dans la colonne C et que dans la colonne Y on doit retrouver un tas d'info
En vous remerciant d'avance pour votre aide
ma plage est la colonne C5 à C700, et dans cette plage je dois trouver des doublons mais uniquement sur les 5 premiers caractères, si je tombe sur un doublon la colonne "Y" doit m'afficher des infos (sur la ligne des doublon)
Maintenant j'ai un code, mais il ne tourne pas, voir ci dessous
For Each Ligne In Worksheets("Tool_Dossiers").Range("C5:C" & Cells(Columns(1).Cells.Count, 1).End(xlUp).Row)
NoLigne = Ligne.Row
If Left(Cells(NoLigne, 3), 5) = Cells(NoLigne - 1, 3) Then
Range("Y" & NoLigne).Value = "MT en " & Range("H" & NoLigne).Value & " " & _
Range("D" & NoLigne).Value & " " & "le " & Range("W" & NoLigne).Value & " " & _
"par " & Range("M" & NoLigne).Value & " " & Range("V" & NoLigne).Value
End If
Next
Merci à tous
ma plage est la colonne C5 à C700, et dans cette plage je dois trouver des doublons mais uniquement sur les 5 premiers caractères, si je tombe sur un doublon la colonne "Y" doit m'afficher des infos (sur la ligne des doublon)
Maintenant j'ai un code, mais il ne tourne pas, voir ci dessous
For Each Ligne In Worksheets("Tool_Dossiers").Range("C5:C" & Cells(Columns(1).Cells.Count, 1).End(xlUp).Row)
NoLigne = Ligne.Row
If Left(Cells(NoLigne, 3), 5) = Cells(NoLigne - 1, 3) Then
Range("Y" & NoLigne).Value = "MT en " & Range("H" & NoLigne).Value & " " & _
Range("D" & NoLigne).Value & " " & "le " & Range("W" & NoLigne).Value & " " & _
"par " & Range("M" & NoLigne).Value & " " & Range("V" & NoLigne).Value
End If
Next
Merci à tous
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si ta plage est toujours la même, c'est à dire de C5 à C700, je te propose ceci :
Je ne suis pas un spécialiste d'Excel et je n'ai pas testé ...
;o)
Polux
Dim cel1 As String Dim cel2 As String Dim i As Long With WorkSheets("Tool_Dossiers") For i = 5 to 700 cel1 = "C" & i cel2 = "C" & i - 1 If .Range(cel1).Value = .Range(cel2).Value Then .Range("Y" & i).Value = "MT en " & .Range("H" & i).Value & " " & _ .Range("D" & i).Value & " " & "le " & .Range("W" & i).Value & " " & _ "par " & .Range("M" & i).Value & " " & .Range("V" & i).Value End If Next i End With
Je ne suis pas un spécialiste d'Excel et je n'ai pas testé ...
;o)
Polux