Bonjour ,
je souhaite séparer une chaine de caractere delimiter par de '\' . Aprés recherche sur le forum j'ai trouvé ce code
Sub test()
deb = 1
cellule = 2
Range("A1") = Range("A1") & "\"
For n = 1 To Len(Range("A1"))
If Mid(Range("A1"), n, 1) = "\" Then
Cells(1, cellule) = Mid(Range("A1"), deb, n - deb)
deb = n + 1
cellule = cellule + 1
End If
Next n
End Sub
Il fonctionne trés bien sur la cellule A1. Cependant je souhaite le faire fonctionner pour toute ma colonne "A" mais je ne connais pas VBA. Pouvez vous m'indiquer la boucle à realiser ?
Sub Macro1()
'boucle sur toutes les cellules éditées cel de la colonne A
For Each cel In Range("A1:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row)
cel.Offset(0, 1).Value = Split(cel.Value, "\", -1)(0) 'renvoit le texte avant le premier "\"
Next cel 'prochaine cellule de la boucle
End Sub
Bonjour,
cela fonctionne sur le 1er texte devant le '\' mais je souhaite décomposer toute la cellule . Il peut y voir dans la cellule de 2 à n "\" . chaque mot trouvé entre les "\" doit se copier dans une cellule differente sur la meme ligne
Je mets un fichier en exemple
Oui c'est mieux avec une pièce jointe on perd moins de temps... Essai comme ça :
Code:
Sub Macro1()
Dim nb As Byte 'déclare la variable nb (NomBre)
Dim x As Byte 'déclare la variable x (incrément)
'boucle 1 : sur toutes les cellules éditées cel de la colonne A
For Each cel In Range("A1:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row)
nb = UBound(Split(cel.Value, "\", -1)) 'définit le mombre de foi que "\" apparait
For x = 0 To nb 'boucle 2 : sur tous les éléments du tableau split
cel.Offset(0, x + 1).Value = Split(cel.Value, "\", -1)(x) 'renvoit le texte avant xième "\"
Next x 'prochain élément de la boucle 2
Next cel 'prochaine cellule de la boucle 1
End Sub