Eclater une celulle dans plusieurs colonnes

incubus20851

XLDnaute Occasionnel
Bonjour à toute et à tous,

Voir fichier exemple en Pièce jointe

Je vous expose mon petit soucis, dans chaque celulle j'ai une adresse complète saisit avec des retour à la ligne avec Nom, numéro de rue, adresse, code postal, ville saisie dans une seule celulle.

Je souhaiterais trouver une solution pour éclater cette adresse dans chaque colonne correspondante.

J'ai bien essayé avec l'option convertir de Excel, mais je n'arrive pas a obtenir le bon résultat.

La difficulté se trouve dans le fait qu'il n'y a pas toujours le même nombre de ligne à l'adresse.

Donc il faudrait qu'à chaque retour de ligne l'info suivante se mette dans une autre colonne.

Merci d'avance pour votre réponse
 

Pièces jointes

  • test.xls
    13.5 KB · Affichages: 136
  • test.xls
    13.5 KB · Affichages: 152
  • test.xls
    13.5 KB · Affichages: 144
G

Guest

Guest
Re : Eclater une celulle dans plusieurs colonnes

Bonjour,

Dans une colonne intermédiaire remplace les caractères de nouvelles lignes car(10) par des tabulations car(9)

Code:
=SUBSTITUE(A2;CAR(10);CAR(9))
Le texte apparait tout collé mais c'est pas grave.
Tirer vers le bas
Sélectionner toutes les données de la colonne intermédiaire.
Copier/collage special/Valeur, pour éliminer la formule et garder les données.

Ensuite tu pourras faire données convertir et choisir le séparateur 'Tabulation' (CAR(9) dans la formule)

A+
[EDITION]HELLO Mimi:):)
 

incubus20851

XLDnaute Occasionnel
Re : Eclater une celulle dans plusieurs colonnes

Bonjour,

Merci à vous deux pour ces réponses, c'est parfait

Ca m'éclate bien la celulle en colonne sauf que je sais pas comment je pourrais extraire les chiffres présent dans la celulle dans une autre colonne car la il n'y a pas de séparateur de tabulation. (exemple : numéro de rue, et code postal

Une idée peut-être ?

Merci encore
 

mth

XLDnaute Barbatruc
Re : Eclater une celulle dans plusieurs colonnes

Bonjour,

Sur la base d'un code élaboré par Pierrot93 (code que j'espère ne pas avoir trop déformé ...) voici une tentative:

Code:
Sub eclate()
Dim derlig As Long, i As Long
Application.ScreenUpdating = False
With Sheets("Feuil1")
    derlig = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 1 To derlig
        .Range("B" & i & ":F" & i).Value = Split(.Cells(i, 1).Value, vbLf)
        .Range("B" & i & ":F" & i).Replace What:="#N/A", Replacement:=""
    Next i
End With
End Sub

Bonne journée,

mth
 

Discussions similaires

Statistiques des forums

Discussions
312 310
Messages
2 087 113
Membres
103 474
dernier inscrit
taha1995