J'ai une colonne A "adresses", qui contient des fois une ligne (ex. rue), des fois deux lignes (ex. rue, batiment), des fois trois lignes (ex. rue, bâtiment, no. appartement).
Pour réaliser un publipostage, il me faut éclater le contenu de ma cellule afin de retrouver chaque ligne en une cellule dédiée. J'ai créé trois colonnes B, C, D vides à côté de ma colonne d'adresses pour dispatcher les 3 lignes.
Grâce à ce forum j'ai trouvé un début de solution à mon problème, à l'aide de la fonction suivante :
Function ECLATERTXTMLIGNES(txm As String)
Dim txcc
Application.Volatile
txcc = Split(txm, Chr(10))
ECLATERTXTMLIGNES = txcc
End Function
Tu copies la fonction, tu la colles dans un module standard (Accéder éditeur VBA par Alt+F11, Insertion > Module, et coller).
Utilisation comme une fonction native d'Excel.
La fonction est matricielle.
Sélectionner autant de cellules que de lignes de texte à éclater (sur une même ligne).
Taper la fomule, ex.: =ECLATERTXTMLIGNES(A1) =cellule à éclater
Valider par Ctrl+Maj+Entrée.
MAIS : Si l'adresse ne contient qu'une seule ligne, le contenu de cette ligne ne se trouve pas seulement en A, mais à nouveau dans B et C. Idéalement, s'il n'y a qu'une seule ligne d'adresse, les colonnes B et C devraient rester vide.
Si quelqu'un a une idée, je prends.
Merci.