Attention mal de tête

T

Thieum

Guest
Bonjour les gars,

Dans mon fichier j'ai une colonne avec un nom detaillé et une autre avec un nom de login, il faut que je renomme les noms de login sous le nouveau plan de nommage qui est "initiale du prénom"."nom", de plus il faut que je prennes en comptes les prénoms composés.
le hic c que je ne peux pas me servir de la colonne nom de logins, ex:jean dupont =dupontj et jean marc dupont=dupontjm, aucun moyen de les differencier.
Je pourrais les differencier avec la colonne nom détaillé qui reprends le nom et le prénom, le problème c qu'ils n'ont uniformiser ce champs et je peux avoir deux choses differentes, soit j'ai ("nom" "prénom") soit ( "descriptif" : "nom" "prenom") en sachant qu'il y a des prénoms composés.
Juste le fait de vous expliquer, ça me donne mal à la tête.
si quelqu'un aime les casses têtes, bon courage et merci d'avance.
 
J

jmps

Guest
Bonjour Thieum,

Il y a aussi des filles sur ce forum ! Lol !

Pourquoi ne fais tu pas un rechercher/remplacer de 'descriptif : ' en remplaçant par rien ? Ainsi tu pourras plus facilement exploiter ta colonne nom détaillé.

Bon courage.

José
 
T

Thieum

Guest
descriptif peut etre n'importe quoi ex: (compta :), (direction:)...
De plus j'ai plus de 10000 lignes, donc ton rechercher/remplacer tu peux t'imaginer ce que j'en pense.
merci quand même, mais c plus compliqué que ça, en plus vu que tu en as parlé je peux pas modifier le champs nom détaillé il doit rester tel quel.
 
J

jmps

Guest
Re Thieum,

Non, je n'imagine pas ce que tu penses de mon rechercher/remplacer...

Au lieu de penser (ça fait mal au crâne), essaye ça dans une colonne libre :

=SUPPRESPACE(DROITE(B1;NBCAR(B1)-CHERCHE(":";B1)))

Cela devrait éliminer ton descriptif à condition qu'il y ait bien un ':' entre le descriptif et le nom. Je suppose ici que ton nom détaillé est en colonne B.

Pour le reste, il faut voir si tu as non seulement des prénoms composés mais aussi des noms composés. A voir aussi si tu écris Jean-Marc ou Jean Marc. Bref as-tu des séparateurs pour les prénoms composés ?

A+

José
 
T

Thieum

Guest
j'ai essayé ta solution, je l'ai adapté pour prendre en compte mes champs sans descriptif, ce qui donne
=SI(ESTERREUR(CHERCHE(":";b1));B1;SUPPRESPACE(DROITE(B1;NBCAR(B1)-CHERCHE(":";AB1)))).
Maintenant j'ai tous mes noms et prénoms dans une colonne libre, pour répondre à ta question, les noms composés sont séparés par un espace et les prénoms sont liés par un tiret, je ne vois pas comment je peux débrouiller avec les noms et prénoms composés.
merci pour ton aide.
 
J

jmps

Guest
Ok. Avant de chercher plus avant, je voudrais savoir si ce que tu veux obtenir ressemble à ça :

Dupont Jean = j.dupont
Dupont Jean-Pierre = jp.dupont
Dupont de Nemours Jean = j.dupontdenemours
Dupont de Nemours Jean-Pierre = jp.dupontdenemours


Ai-je bien compris ? Sinon corrige-moi.

José
 
J

jmps

Guest
Je n'ai pas réussi avec des formules. Trop compliqué pour moi bien que je pense que ce soit faisable.

Donc je te joint une macro en VBA qui devrait te convenir. En tous cas ça marche pour les quatre cas de figure que j'ai imaginé. Si tu en as d'autres (un nom avec apostrophe par exemple), tu devras adapter.
Quelques remarques tout de même :
- Ce n'est pas un exemple de programmation, j'ai essayé de faire au plus vite.
- Je suis sur XL97, donc il me manque des fonctions comme InstrRev ou Strings.Replace, donc j'ai un peu bricolé.
- Je suis parti de la colonne A avec résultat en B. Adapte ici encore.

Comme je suppose que ton programme est un one-shot, tout ceci ne devrait pas te poser de problèmes, le principal étant que tu ais ton résultat. En tous cas pour la plupart des cas de figure.

Ca va mieux la tête ? ;°)

Bonne soirée.

José
 

Pièces jointes

  • Thieum.zip
    8.8 KB · Affichages: 19
T

Thieum

Guest
merci, j'ai pas encore regardé ton vba mais je vais m'y pencher ce soir.
Je pense aussi que c'est faisable avec des formules, si quelqu'un la trouve qu'il n'exite pas.
En tout cas merci pour ton travail José.
 
S

Slow

Guest
Bonsoir THIEUM

Je sais faire ce que tu cherche a obtenir avec des formules. Il faut 6 ou 7 colonnes à droite de la colonne B pour les faire "travailler".
Pour vérifier le fonctionnement correct, jai besoin des précisions suivantes :

S'il s'agit d'un prénom simple, son INITIALE sera toujours après le dernier ESPACE?
S'il s'agit d'un prénom composé avec TRAIT D'UNION, sa première INITIALE sera forcément après le dernier ESPACE aussi et la deuxième INITIALE après le "-", ou le suivant si triple prénom?
Par conséquent, il s'uffit de trouver le dernier espace, de prendre le PREMIER CARRACTERE SUIVANT et le PREMIER CARRACTERE SUIVANT LE TRAIT D'UNION éventuel.
Pour virer le nom du service, il faut trouver le ":" et exploiter ce qu'il y a avant ou après selon le cas.

Réponds-moi par le Forum si tu n'as pas déjà ta solution.

Bonne nuit.
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 883
Membres
103 981
dernier inscrit
vinsalcatraz