Je ne suis pas du tout un utilisateur de macro aussi ais-je peut-être mal appliqué ton code, mais voici le résultat obtenu
J'ai cliqué sur Outil>Macro>visualBasicEditor
puis là, ma feuille était déjà sélectionnée.
j'ai double-cliqué et il m'a ouvert une fenêtre. J'ai collé ton code puis suis allé sur affichage>microsoftExcel
là j'ai commencé ) mettre un "/" dans B1 comme séparateur (car mon fichier d'origine contient un espace, pas très visuel comme résultat pour des tests). Puis je suis allé modifier les données C2 D2 E2 etc et d'un coup il m'affiche

et me dit qu'il manque de mémoire
Ah bon ?
Je clique débogage et là j'ai ça

Et si je vais sur la feuille, je vois ça :

apparemment il colle des résultats dans B1, et si je regarde de plus près, je vois qu'il les colle à l'infini.
Qu'est-ce qui a loupé ?
EDIT : je viens de refaire un essai.
Tant que je ne touche pas à B1, ça fonctionne plutôt bien.
Peut-être faudrait-il que je place mon séparateur ailleurs qu'en B1 ? Sinon ça fait un effet loop je pense.
RE-EDIT : non, en fait le problème se produit quel que soit la cellule que je touche dans la ligne 1.
Mais effectivement, je pense que le B1 n'est pas un bon choix de cellule pour contenir le séparateur.
Faudrait que je le place ailleurs pour éviter l'effet loop.
C'est dans quel endroit de ton code qu'on spécifie l'emplacement de cette cellule ?
RE RE EDIT :
OK, j'ai trouvé, voilà le code modifié : [code]Private Sub Worksheet_Change(ByVal Target As Range)
MaLigne = Target.Row
Dim MaChaine As String
MaChaine = ""
For i = 3 To 78
If ActiveSheet.Cells(MaLigne, i).Value <> "" Then
MaChaine = MaChaine + ActiveSheet.Cells(1, i).Value + ActiveSheet.Cells(1, 1).Value
End If
Next i
Range("B" & MaLigne).Value = Left(MaChaine, Len(MaChaine) - Len(ActiveSheet.Cells(1, 1).Value))
Exit Sub
End Sub[/code]
j'ai juste changé 1,2 par 1,1 et ça roule, ma cellule de séparateur est en A1.
RE RE RE EDIT
Par contre ça n'est pas rétroactif si je modifie le séparateur ou l'un des noms de la ligne 1 (ou tout du moins ça ne modifie que la ligne 1, ce qui n'a pas d'intérêt). Dommage…
Et ça prend un peu de temps à chaque fois, on dirait qu'il a un peu de mal.
N'y aurait-il pas moyen de lui demander d'appliquer la Macro que à la fin du remplissage du tableau (et à l'ensemble du tableau), pour éviter tout ce temps à attendre ?