séparer en plusieurs cellules

Le
Philippe MERY
Bonjour.
J'ai un fichier de clients avec trop d'infos par cellule..
Par ex , j'ai un cellulle A1 qui contient
xx rue Gaston de Saporta 13100 Aix en Provence Tél: 04 42 xx xx xx

peut on séparer pour avoir
A1 qui contient xx rue Gaston de Saporta
A2 qui contient 13100 Aix en Provence
A3 qui contient Tél: 04 42 xx xx xx

Est ce possible?

Merci

Cordialement.
Philippe MERY
**pour m'écrire perso**
mery-ph -serveur- ifrance.com
www.freymille.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #18578691
Salut Philippe

Soit la Feuil1 colonne A à traiter à partir de la ligne 2

Tous les éléments doivent être séparés par des espaces et la partie
téléphone débutant par "Tél:"

Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A2", "A" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
For i = 0 To UBound(Split(c, " "))
If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then
Ville = Mid(c, Car)
End If
If Split(c, " ")(i) = "Tél:" Then
c.Offset(0, 3) = Mid(c, Car)
Exit For
End If
Car = Car + Len(Split(c, " ")(i)) + 1
Next
c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3)))
c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0,
3))))
Car = 0
Next

Résultat colonne B/C/D

Celà devrait convenir
Dis moi !!!!
Philippe MERY
Le #18580021
"FFO"
Salut Philippe

Soit la Feuil1 colonne A à traiter à partir de la ligne 2

Tous les éléments doivent être séparés par des espaces et la partie
téléphone débutant par "Tél:"

Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A2", "A" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
For i = 0 To UBound(Split(c, " "))
If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then
Ville = Mid(c, Car)
End If
If Split(c, " ")(i) = "Tél:" Then
c.Offset(0, 3) = Mid(c, Car)
Exit For
End If
Car = Car + Len(Split(c, " ")(i)) + 1
Next
c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3)))
c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0,
3))))
Car = 0
Next

Résultat colonne B/C/D

Celà devrait convenir
Dis moi !!!!



Merci de ton aide, mais je suis neuneuh ,et je ne sais pas utiliser cet
outil :-/
du coup je suis perdu...
FFO
Le #18580351
Rebonjour à toi

Dans un classeur tout neuf en Feuil1 colonne A rapporte toutes tes données à
partir de A2 (Mets en A1 un nom de colonne)


Crées une Macro :

Outil/Macro/Nouvelle Macro
Donnes un nom à ta Macro sans espace puis OK

Dans la petite fenêtre "Arr" cliques sur le carré bleu


Modifies la Macro créée en mettant mon code :

Outils/Macro/Macros
Sélectionnes la Macro et Modifier

Dans l'éditeur qui viens de souvrir entre Sub Mamacro et End Sub recopies
mon code

Fermes l'éditeur par la croix en haut à droite


Exécute la macro créée :

Outils/Macro/Macros
Sélectionnes la Macro et Exécuter

Va voir dans Feuil1 colonne B/C/D le résultat


Donnes moi des nouvelles !!!!!!
FFO
Le #18580341
Rebonjour à toi

Pour t'aider sur ce lien un exemple dont tu peux t'inspirer

Feuil1 actives la Macro "Traitement"

Donnes moi des nouvelles !!!!!
FFO
Le #18580521
Rebonjour à toi

Le lien est resté dans la souris !!!!

http://www.cijoint.fr/cjlink.php?file=cj200902/cijfBuYJm0.xls

Milles excuses
milloche
Le #18580501
Je prie Dieu qu'il n'y ait pas un Hubert-Charles de la Tarendière habitant 15 Avenue du lapin qui
fume à Saint-Remy-en-Bouzemont-Saint-Genest-et-Hisson dans la liste des clients.
(;o))

"Philippe MERY" 4989b122$0$9377$
"FFO"
Salut Philippe

Soit la Feuil1 colonne A à traiter à partir de la ligne 2

Tous les éléments doivent être séparés par des espaces et la partie
téléphone débutant par "Tél:"

Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A2", "A" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
For i = 0 To UBound(Split(c, " "))
If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then
Ville = Mid(c, Car)
End If
If Split(c, " ")(i) = "Tél:" Then
c.Offset(0, 3) = Mid(c, Car)
Exit For
End If
Car = Car + Len(Split(c, " ")(i)) + 1
Next
c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3)))
c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0,
3))))
Car = 0
Next

Résultat colonne B/C/D

Celà devrait convenir
Dis moi !!!!



Merci de ton aide, mais je suis neuneuh ,et je ne sais pas utiliser cet outil :-/
du coup je suis perdu...



Albert
Le #18581161
Bonjour

"FFO" news:
Rebonjour à toi

Dans un classeur tout neuf en Feuil1 colonne A rapporte toutes tes données
à
partir de A2 (Mets en A1 un nom de colonne)
Crées une Macro :
Outil/Macro/Nouvelle Macro
Donnes un nom à ta Macro sans espace puis OK

Dans la petite fenêtre "Arr" cliques sur le carré bleu



Ceci m'intéresse, mais avec Excel 2000 et 2007 je ne vois pas cette petite
fenêtre avec le carré bleu

Après le clic sur OK ma macro s'ouvre sur une cellule de la feuille.

C'est quoi cette petite fenêtre que je ne vois pas ?

Merci

--
albertri-at-videotron.ca.invalid
FFO
Le #18586581
Salut Albert

Normalement lorsque tu crées une macro aprés avoir fait ceci :

Outil/Macro/Nouvelle Macro
Donnes un nom à ta Macro sans espace puis OK

une petite fenêtre apparait quelque part sur la feuille active avec à
l'interieur un intitullé "Arr" et un carré bleu

Si ce n'est pas le cas il faut pour la faire apparaitre opérer cette
manipulation :

Affichage/Barres d'outils/
Selectionner "Arrêter l'enregistrement"

Fais la manipulation et dis moi !!!!!
Philippe MERY
Le #18589951
"FFO"
Rebonjour à toi

Le lien est resté dans la souris !!!!

http://www.cijoint.fr/cjlink.php?file=cj200902/cijfBuYJm0.xls

Milles excuses



merci de ton aide, mais au lancement de la macro, un message d'erreur
apparait
"Erreur de compilation: sub ou functuion non definie"
Albert
Le #18590181
Bonjour

"FFO" news:
Salut Albert

Normalement lorsque tu crées une macro aprés avoir fait ceci :
Outil/Macro/Nouvelle Macro
Donnes un nom à ta Macro sans espace puis OK
une petite fenêtre apparait quelque part sur la feuille active avec à
l'interieur un intitullé "Arr" et un carré bleu



Après toutes ces années et quelques centaines de macros je ne connaissais
pas cette mini barre d'outil, jai toujours utilisé
Outils/Macro/Arrêter_l'enregistrement.

Si ce n'est pas le cas il faut pour la faire apparaitre opérer cette
manipulation :>
Affichage/Barres d'outils/
Selectionner "Arrêter l'enregistrement"


Lorsque la barre d'outil est cochée avec EXCEL2000 la barre est toujours
présente dans la feuille ou dans la barre d'outils en haut, et non pas
seulement lors d'un enregistrement de macro.

Merci beaucoup pour cette explication

Ici un beau ciel bleu et -19°C,

--
albertri-at-videotron.ca.invalid
Publicité
Poster une réponse
Anonyme