Garder les 4 première lettre du premier mot et la totalité du 2eme mot dans une

Signaler
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
bonjour,

j'ai dans une feuille excel des cellules b3 a b32 ou sont notés le nom et le prenom de personne

je voudrais un code VBA qui ne fasse apparaitre dans chaque cellule que les 4 premieres lettre du nom et la totalité du prenom (le nom et le prenom sont separé par un espace)

le resultat de ce code VBA doit etre dans la même cellulle
plus clairement
il faut dans les B3 a B32 que lorsqu'une personne note le nom entier et le prenom d'une personne, le resultat dans les cellule B3 a B32 montre les 4 premier lettre du nom et la totalité du prenom

je vous remercie de votre aide

4 réponses

Messages postés
172
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
21 juillet 2013
2
Bonjour.   Ici c'est un forum de programmeurs, pas un site de commandes !

Si tu sais te débrouiller en VBA, on peut t'indiquer une voie à suivre,
sinon tu t'es trompé de site …

___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Bonjour,
Montre-nous ton code d'essai.
Montre-nous au moins comment tu parcours en boucle la plage B3:B32 pour en lire les valeurs à transformer.
Pour le reste : intéresse-toi aux fonctions de traitement des chaînes de caractères (Len, Left, Right, Instr, Split, Mid) à lire dans ton aide VBA.
Reviens avec ton code sur ces bases, si tu veux de l'aide.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
bonjour
voici le bout de code écrit:

Sub NomPrenom()
For i = 3 To 32
Nom = Left(Left(Cells("b" & i), InStr(Cells("b" & i), " ") - 1), 4)
Prenom = Mid(Cells("b" & i), InStr(Cells("b" & i), " "), Len(Cells("b" & i)))
Cells("b" & i) = Nom & Prenom
Next
End Sub
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Nom = Left(Left (Cells("b" & i), InStr(Cells("b" & i), " ") - 1), 4)

1) C'est quoi, la gauche de la gauche ?
Que dit ton aide VBA à propos de la fonction Left ? ===>> applique
2) c'est quoi, Cells("b" & i) ? Ouvre ton aide vba sur le mot cells et regarde la notation qu'il implique. Ce n'est pas celle de Range
Commence par ces "petites choses-là", s'il te plait.
Une correction ne viendra de ma part qu'après cela (cet apprentissage minimum).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.