OVH Cloud OVH Cloud

Travaille sur les chaîne d'un champ

7 réponses
Avatar
R.K
Bonjour.

Ma question est la suivante :

Dans ma db, j'ai une table avec un champ [table_a_modifier.]nom qui
contient le nom ET le prénom d'une personne.
Dans le cadre d'une refonte compléte de la db je suis amené a séparé le
champs en deux, à savoir [table].nom [table].prenom.

Existe-t-il un moyen en vb, ou une routine access qui me permette d'analyser
la chaîne contenue dans [table_a_modifier.]nom de manière a extraire les
infos de manière séparée. Sachant qu'en me basant sur les espace je dois
pouvoir obtenir des infos valables.

7 réponses

Avatar
Eric
Bonjour,

Regardes si ceci peut te servir : http://minilien.com/?Qzv8RDCbnM

Bonjour.

Ma question est la suivante :

Dans ma db, j'ai une table avec un champ [table_a_modifier.]nom qui
contient le nom ET le prénom d'une personne.
Dans le cadre d'une refonte compléte de la db je suis amené a séparé le
champs en deux, à savoir [table].nom [table].prenom.

Existe-t-il un moyen en vb, ou une routine access qui me permette d'analyser
la chaîne contenue dans [table_a_modifier.]nom de manière a extraire les
infos de manière séparée. Sachant qu'en me basant sur les espace je dois
pouvoir obtenir des infos valables.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Jac
Salut Eric,

d'après moi, dans Access, ça ne sera pas facile a gérer en s'occupant des
espaces car les noms composés et prénoms composés vont être difficiles à
gérer.
Imagine Du Pont La Joie Jean Bernard
Comment regrouper ? Comment et où couper ?

La solution, c'est dans Excel que ça se passe.
Tu commences par créer tes champs Nom et Prénom dans Access.
Tu copies ton champ Access, tu le colles dans Excel. Attention, il ne faut
pas faire de tri pour éviter les mélanges au retour dans Access.
Tu supprimes la ligne de titre afin qu'au retour dans Access il n'y ait pas
de décalage d'une ligne.
Tu sélectionnes la colonne et tu vas dans Données / Convertir.
Etape 1 = Délimité
Etape 2 = Espace
Etape 3 = Terminer
Etape 4 = Tu regroupes par calcul ou couper /coller les noms et prénoms dans
les deux premières colonnes
Etape 5 = Tu copies les données des 2 colonnes et tu les colles dans Access
Etape 6 = Avant de supprimer la colonne Nom Prénom, tu fais un contrôle
visuel pour voir s'il n'y a pas eu de décalage

C'est tout...

Mais si tu préfères faire cette manip avec Word, je peux t'expliquer.

Jac

Bonjour.

Ma question est la suivante :

Dans ma db, j'ai une table avec un champ [table_a_modifier.]nom qui
contient le nom ET le prénom d'une personne.
Dans le cadre d'une refonte compléte de la db je suis amené a séparé le
champs en deux, à savoir [table].nom [table].prenom.

Existe-t-il un moyen en vb, ou une routine access qui me permette
d'analyser la chaîne contenue dans [table_a_modifier.]nom de manière a
extraire les infos de manière séparée. Sachant qu'en me basant sur les
espace je dois pouvoir obtenir des infos valables.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
Bonjour Jac,

Je suis entièrement d'accord avec toi dès lors que tu as des noms et
prénoms composés contenant des espaces séparateurs comme dans ton
exemple. (Dans d'autres posts, je le précisai, omission malheureuse dans
celui-ci)

Je proposai seulement à R.K un exemple très simple. En code, il serait
toujours possible de 'splitter' la chaine mais comment regrouper les
éléments qui concernent le nom et ceux qui concernent le prénom ?

D'ailleurs, AV propose ta solution sur un post dans le NG Excel et précise :
Mais l'histoitre des Noms et Prénoms est un vieux débat...insoluble...


En total accord avec lui. Pas d'automatisation possible.

Pour info: comment réalises-tu l'étape 4 : 'tu regroupes par calcul' ?




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
R.K
Alors c'est tout bon, ça me fait les séparation que je voulais.
Merci

"Jac" wrote:

Salut Eric,

d'après moi, dans Access, ça ne sera pas facile a gérer en s'occupant des
espaces car les noms composés et prénoms composés vont être difficiles à
gérer.
Imagine Du Pont La Joie Jean Bernard
Comment regrouper ? Comment et où couper ?

La solution, c'est dans Excel que ça se passe.
Tu commences par créer tes champs Nom et Prénom dans Access.
Tu copies ton champ Access, tu le colles dans Excel. Attention, il ne faut
pas faire de tri pour éviter les mélanges au retour dans Access.
Tu supprimes la ligne de titre afin qu'au retour dans Access il n'y ait pas
de décalage d'une ligne.
Tu sélectionnes la colonne et tu vas dans Données / Convertir.
Etape 1 = Délimité
Etape 2 = Espace
Etape 3 = Terminer
Etape 4 = Tu regroupes par calcul ou couper /coller les noms et prénoms dans
les deux premières colonnes
Etape 5 = Tu copies les données des 2 colonnes et tu les colles dans Access
Etape 6 = Avant de supprimer la colonne Nom Prénom, tu fais un contrôle
visuel pour voir s'il n'y a pas eu de décalage

C'est tout...

Mais si tu préfères faire cette manip avec Word, je peux t'expliquer.

Jac

Bonjour.

Ma question est la suivante :

Dans ma db, j'ai une table avec un champ [table_a_modifier.]nom qui
contient le nom ET le prénom d'une personne.
Dans le cadre d'une refonte compléte de la db je suis amené a séparé le
champs en deux, à savoir [table].nom [table].prenom.

Existe-t-il un moyen en vb, ou une routine access qui me permette
d'analyser la chaîne contenue dans [table_a_modifier.]nom de manière a
extraire les infos de manière séparée. Sachant qu'en me basant sur les
espace je dois pouvoir obtenir des infos valables.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr








Avatar
R.K
Tu concatène.
Cellule x = celx1 & " " & celx2 .... " " pour l'espace entre deux prénoms ou
deux nom


D'ailleurs, AV propose ta solution sur un post dans le NG Excel et précise :
Mais l'histoitre des Noms et Prénoms est un vieux débat...insoluble...


En total accord avec lui. Pas d'automatisation possible.

Pour info: comment réalises-tu l'étape 4 : 'tu regroupes par calcul' ?




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
re,

Donc pas automatisable car la concaténation sur le nb de cellules ou de
mots n'est pas identifiable à prioiri.

Tu concatène.
Cellule x = celx1 & " " & celx2 .... " " pour l'espace entre deux prénoms ou
deux nom



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Jac
J'ai réfléchi à l'automatisation et j'ai imaginé une solution dans laquelle
il suffit de noter pour chaque ligne, combien il y a de composants pour le
prénom. Tout le reste est automatique.

http://cjoint.com/?gjcDdlOBrT

L'automatisation totale passerait par un table des prénoms combinée à des
recherchev. Mais ce concept pourrait aussi s'imaginer directement dans
Access.
L'idée : on concatène les prénoms avec les 2, 3 et 4 premiers composants et
on les compare aux prénoms de la table des prénoms. Si aucun n'est commun
aux 2 tables alors c'est le premier qui est à utiliser. De là on en déduit
quel est le premier élément du nom et on concatène la suite si nécessaire.

Mais c'est vrai qu'en général ce genre de manip ne sert qu'une fois, après
les données sont bien "calibrées". Donc je pense que la solution de la pièce
jointe devrait pouvoir suffire.

On en reparle à l'occasion...

Jac



"Eric" a écrit dans le message de news:
%
re,

Donc pas automatisable car la concaténation sur le nb de cellules ou de
mots n'est pas identifiable à prioiri.

Tu concatène.
Cellule x = celx1 & " " & celx2 .... " " pour l'espace entre deux prénoms
ou deux nom