gobernador a écrit :
Bonjour
Pourriez-vous m'expliquer la macro suivate:
bonjour,
quelques commentaires dans le code pour expliquer.
Sub test()
Dim c As Range, x As Variant, j As Byte, i As Byte
'on lance une boucle pour parcourir une à une toutes les cellules de la colonne A, jusqu'à la dernière ligne utilisée.
' la cellule est identifiée par la lettre c
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
' on isole chaque séquence de caractères délimitée par un blanc (=un mot) dans un tableau x
x = Split(c.Value, " ")
j = 1
' on fait l'hypothèse qu'il y a au moins 7 mots dans le tableau
' dans ce code apparemment, seuls les 7 derniers mots nous intéressent.
' Ubound(x), indique le nombre de mots trouvés (=dimension du tableau x)
' pour avoir tous les mots et éviter une erreur s'il y a moins de 7 mots
' remplacer l'instruction par for i=Lbound(x) to Ubound(x)
For i = UBound(x) - 7 To UBound(x)
' on copie le mot i du tableau x sur la même ligne (offset(0, ) que la cellule selectionnée mais dans la colonne qui se trouve j position(s) à droite
c.Offset(0, j).Value = x(i)
' on incrémente la position de la colonne pour la copie suivante
j = j + 1
Next i
Next c
End Sub