Concatenation
Résolu
Kikavely
-
KikaVely -
KikaVely -
Bonjour,
j'ai un probleme mon code ne fais pas tout a fais ce que je veux.
voila mon code
Sub tes()
Dim i As Long
Dim j As Long
Limite = Range("A65536").End(xlDown).Row
Mide = Worksheets("Feuil2").Cells(Rows.Count, 1).End(xlDown).Row
For i = 1 To Limite
If Left(Cells(i, 1).Value, 2) = "aa" Then
For j = 1 To Mide
Sheets("Feuil1").Cells(i, 1).Value = Sheets("Feuil1").Cells(i, 1).Value & Sheets("Feuil2").Cells(j, 1).Value
Next j
End If
Next i
End Sub
quelqu'un pourrais t'il m'aider a l'arranger car je veux que il prenne un seul et unique numero de matricule qu'il concateneras avec le premier nom trouver remplissant la condition du code c'est a dire:
If Left(Cells(i, 1).Value, 2) = "aa" Then
et ainsi de suite.
je joins a mon message un fichier avec le bouton qui permet d'éxecuter la macro.
http://cjoint.com/?BICpoQuJmnU
merci d'avance.
j'ai un probleme mon code ne fais pas tout a fais ce que je veux.
voila mon code
Sub tes()
Dim i As Long
Dim j As Long
Limite = Range("A65536").End(xlDown).Row
Mide = Worksheets("Feuil2").Cells(Rows.Count, 1).End(xlDown).Row
For i = 1 To Limite
If Left(Cells(i, 1).Value, 2) = "aa" Then
For j = 1 To Mide
Sheets("Feuil1").Cells(i, 1).Value = Sheets("Feuil1").Cells(i, 1).Value & Sheets("Feuil2").Cells(j, 1).Value
Next j
End If
Next i
End Sub
quelqu'un pourrais t'il m'aider a l'arranger car je veux que il prenne un seul et unique numero de matricule qu'il concateneras avec le premier nom trouver remplissant la condition du code c'est a dire:
If Left(Cells(i, 1).Value, 2) = "aa" Then
et ainsi de suite.
je joins a mon message un fichier avec le bouton qui permet d'éxecuter la macro.
http://cjoint.com/?BICpoQuJmnU
merci d'avance.
4 réponses
-
Bonjour,
Pas sûr d'avoir tout compris
ci dessous le code qui permet d'associer à chaque cellule "aa" un seul numéro de la feuil2
pour le premier "aa" on prend le N° 1, pour le second le N°2 ...
Dim i As Long Dim j As Long Dim Limite As Long 'Limite = Range("A65536").End(xlDown).Row Limite = Range("A" & Rows.Count).End(xlUp).Row j = 1 For i = 1 To Limite If Left(Cells(i, 1).Value, 2) = "aa" Then Sheets("Feuil1").Cells(i, 1).Value = Sheets("Feuil1").Cells(i, 1).Value & Sheets("Feuil2").Cells(j, 1).Value j = j + 1 End If Next i
Bonne suite-
Bonsoir
j'ai lu votre fichier et votre demande
et je ne comprends toujours pas le résultat attendu !!!!!
une ligne avec 3 a qui devient aarrS999999
une ligne avec 4 a qui devient rien !!!!!!
et un tout petit peu plus logique une avec aaop qui devient aaopS999997
si on suit votre résonnement avec
If Left(Cells(i, 1).Value, 2) = "aa" Then
re formulez votre demande et votre attente
Cordialement
-
-
Bonjour
donc si j'ai bien compris je te propose de remplacer ton code par celui ciSub tes() Dim maligne_Nom As Integer Dim maligne_Id As Integer Dim i As Long Dim j As Long Limite = Range("A65536").End(xlUp).Row Mide = Worksheets("Feuil2").Cells(Rows.Count, 1).End(xlUp).Row ' variable pour la première boucle maligne_Nom = 1 ' variable pour la deuxième boucle maligne_Id = 1 For i = maligne_Nom To Limite If Left(Cells(i, 1).Value, 2) = "aa" Then ' on incrémente de début de la première boucle maligne_Nom = i + 1 For j = maligne_Id To Mide Sheets("Feuil1").Cells(i, 1).Value = Sheets("Feuil1").Cells(i, 1).Value & Sheets("Feuil2").Cells(j, 1).Value ' on incrémente de début de la deuxième boucle maligne_Id = j + 1 ' on sort de la deuxième boucle Exit For Next j End If Next i End Sub
Quand on écrit du code il faut bien faire attention à l'indentation très important pour s'y retrouver.
Je pense que ce code est correct et t'apportera la solution
Cordialement -
Merci G_33 c'est parfaitement ce que je voulais fair mais n'y arivait pas il marche merci au autre pour leur tentative.
CDt -