OVH Cloud OVH Cloud

Eclater un champ.

3 réponses
Avatar
raymond garreau
Bonjour
Dans une table excel il ya une colonne qui contient des prenoms et des noms
separes par des espaces : exemple:
gilbert DURAND guy TOURNAUD, Veronique PECHOUX
J'aimerais recuperer les differents noms et prenoms dans des zones séparées
dans visual basic.
Pourriez vous m'indiquer quelles fonctions je dois utiliser sous visual
basic pour arriver a mes fins.
Le nombre de couple noms prenoms est indefini.
Merci

3 réponses

Avatar
Pierre Fauconnier
Bonjour

Je ne sais pas ce que tu entends par "récupérer dans des zones séparées en
visual basic"... mais tu peux t'en tirer avec la fonction split, qui renvoie
un tableau
Exemple pour des donnéees en colonne A

Sub Afficher()
Dim Cellule As Range
Dim i As Integer

For Each Cellule In Range("a1:a" & Range("a6536").End(xlUp).Row)
For i = 0 To UBound(Split(Cellule, " "))
Debug.Print Split(Cellule, " ")(i)
Next i
Next Cellule
End Sub

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"raymond garreau" <raymond a écrit dans
le message de news:
Bonjour
Dans une table excel il ya une colonne qui contient des prenoms et des
noms
separes par des espaces : exemple:
gilbert DURAND guy TOURNAUD, Veronique PECHOUX
J'aimerais recuperer les differents noms et prenoms dans des zones
séparées
dans visual basic.
Pourriez vous m'indiquer quelles fonctions je dois utiliser sous visual
basic pour arriver a mes fins.
Le nombre de couple noms prenoms est indefini.
Merci


Avatar
lSteph
Bonsoir Raymond,

Première hypothèse, (gros coup de bol)
tous tes prénoms sont en un seul mot et tous les noms idem:

Sélectionner la colonne (s'assurer qu'il n'y a rien à droite, le cas échéant
la déplacer provisoirement)
Données Convertir
Délimité
Séparateur : Espace
Suivant Terminer

"Pierre Jean Etienne de la RIVE" te dirait qu'il sera peut être nécessaire
ensuite de vérifier "manuellement".
L'incursion soudaine d'un espace ou d'une (ou plusieurs) majuscule(s) dans
une chaine de caractères,
surtout dans l'hypothèse de noms propres, ne permet interpréter sitôt la
séparation du prénom et du nom.


Enlevons la seconde peu crédible , plusieurs Majuscules impliquent le nom
"Pierre Jean Etienne de la" fait assez vilain comme prénom.

Autres hypothèses:
Pierre peut être un Jean Etienne de la RIVE
ou
Pierre Jean être un Etienne de la RIVE
ou même
Pierre Jean Etienne être un de la RIVE

Donc selon toute alternative on reviendrait à la première solution et amha
il faudra traiter tout ce qui dépasse au cas par cas.

'lSteph
(Toute ressemblance avec des personnes existanrtes ou ayant existé serait
rigoureusement fortuite)



"raymond garreau" <raymond a écrit dans
le message de news:
Bonjour
Dans une table excel il ya une colonne qui contient des prenoms et des
noms
separes par des espaces : exemple:
gilbert DURAND guy TOURNAUD, Veronique PECHOUX
J'aimerais recuperer les differents noms et prenoms dans des zones
séparées
dans visual basic.
Pourriez vous m'indiquer quelles fonctions je dois utiliser sous visual
basic pour arriver a mes fins.
Le nombre de couple noms prenoms est indefini.
Merci


Avatar
lSteph
Re,
en vba l'hypothèse simple se traduirait ainsi exemple en colonne B:

Sub toto()
Selection.TextToColumns _
Destination:=Range("B1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:=True, Other:úlse
End Sub

'lSteph

"raymond garreau" <raymond a écrit dans
le message de news:
Bonjour
Dans une table excel il ya une colonne qui contient des prenoms et des
noms
separes par des espaces : exemple:
gilbert DURAND guy TOURNAUD, Veronique PECHOUX
J'aimerais recuperer les differents noms et prenoms dans des zones
séparées
dans visual basic.
Pourriez vous m'indiquer quelles fonctions je dois utiliser sous visual
basic pour arriver a mes fins.
Le nombre de couple noms prenoms est indefini.
Merci