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 ...
Bonne suite
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
Bonjour
donc si j'ai bien compris je te propose de remplacer ton code par celui ci
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
donc si j'ai bien compris je te propose de remplacer ton code par celui ci
Sub 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
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