A voir également:
- Premier espace à droite
- Espace insécable word - Guide
- Libérer espace gmail - Guide
- Espace de stockage google - Guide
- Barre droite clavier - Forum Windows
- Svp faire une barre verticale avec clavier - Forum Clavier
6 réponses
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
4 mars 2010 à 16:08
4 mars 2010 à 16:08
bonjour,
j'ai rencontré un problème similaire il y a un moment
et j'ai écris ça car il n'existe pas de fonction inverse.
Si cela te convient alors pense à mettre en résolu
=TrouveVersGauche(" ";A8;19) renverra 14
=STXT(A8;F8;2) renverra <Espace L>
Le code ci joint doit être mis dans un module
j'ai rencontré un problème similaire il y a un moment
et j'ai écris ça car il n'existe pas de fonction inverse.
Si cela te convient alors pense à mettre en résolu
=TrouveVersGauche(" ";A8;19) renverra 14
=STXT(A8;F8;2) renverra <Espace L>
Le code ci joint doit être mis dans un module
Sub test() Dim X, Y As Integer Y = Len("DUPOND DURAND Louis") X = TrouveVersGauche(" ", "DUPOND DURAND Loius", Y) End Sub Public Function TrouveVersGauche(Charactère As String, Chaine As String, Position As Integer) As Integer Application.Volatile Dim i As Integer For i = Position - 1 To 0 Step -1 If Mid(Chaine, i, 1) = Charactère Then TrouveVersGauche = i Exit For End If Next End Function
Utilisateur anonyme
4 mars 2010 à 16:10
4 mars 2010 à 16:10
Bonjour,
Pour isoler le prénom, tu peux sélectionner la colonne avec noms et prénoms avec 3 ou 4 colonnes vides à droite
=> Données / Convertir / cocher délimité / et cocher l'espace comme séparateur / Terminer
Chaque mot entre espace sera dans une colonne.
S'il y a des noms composés sans trait d'union, ils seront scindés. Tu les regroupes sur une autre colonne en concaténant comme ceci =A1&" "&B1 et tu tires vers le bas
Puis un copier / collage spécial / valeur sur les deux nouvelles colonnes nom et prénom récupérés pour figer, et tu peux supprimer le reste.
Sinon, j'ai déjà vu une formule matricielle qui fait ça mais s'il y a des prénoms composés sans trait d'union, ça se complique... mais il y aura certainement d'autres idées !
Pour isoler le prénom, tu peux sélectionner la colonne avec noms et prénoms avec 3 ou 4 colonnes vides à droite
=> Données / Convertir / cocher délimité / et cocher l'espace comme séparateur / Terminer
Chaque mot entre espace sera dans une colonne.
S'il y a des noms composés sans trait d'union, ils seront scindés. Tu les regroupes sur une autre colonne en concaténant comme ceci =A1&" "&B1 et tu tires vers le bas
Puis un copier / collage spécial / valeur sur les deux nouvelles colonnes nom et prénom récupérés pour figer, et tu peux supprimer le reste.
Sinon, j'ai déjà vu une formule matricielle qui fait ça mais s'il y a des prénoms composés sans trait d'union, ça se complique... mais il y aura certainement d'autres idées !
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
4 mars 2010 à 16:17
4 mars 2010 à 16:17
Pas de mal
moi j'ai simplifié comme je peux mais je précise que si la fonction ne trouve pas le charactère cherché elle renvoie #VALEUR
; )
moi j'ai simplifié comme je peux mais je précise que si la fonction ne trouve pas le charactère cherché elle renvoie #VALEUR
; )
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
4 mars 2010 à 17:50
4 mars 2010 à 17:50
Bonjour tout le monde,
et par formule :
=STXT(A1;MAX((STXT(A1;LIGNE(1:50);1)=" ")*LIGNE(1:50));50)
formule matricielle à valider par shift+ctrl+entrée
Si la chaine peut dépasser les 50 car. modifier les 50 (3 fois)
eric
et par formule :
=STXT(A1;MAX((STXT(A1;LIGNE(1:50);1)=" ")*LIGNE(1:50));50)
formule matricielle à valider par shift+ctrl+entrée
Si la chaine peut dépasser les 50 car. modifier les 50 (3 fois)
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
4 mars 2010 à 21:32
4 mars 2010 à 21:32
PS : une correction car j'avais oublié la recopie incrémentée vers le bas (merci argixu :-) ):
=STXT(A1;MAX((STXT(A1;LIGNE($1:$50);1)=" ")*LIGNE($1:$50));50)
et une autre intéressante qu'argixu n'a pas osé proposer :
=DROITE(A1;EQUIV(" ";STXT(A1;NBCAR(A1) - LIGNE(INDIRECT("1:" & NBCAR(A1)));1);0))
Toutes les 2 sont matricielles
eric
=STXT(A1;MAX((STXT(A1;LIGNE($1:$50);1)=" ")*LIGNE($1:$50));50)
et une autre intéressante qu'argixu n'a pas osé proposer :
=DROITE(A1;EQUIV(" ";STXT(A1;NBCAR(A1) - LIGNE(INDIRECT("1:" & NBCAR(A1)));1);0))
Toutes les 2 sont matricielles
eric
4 mars 2010 à 16:12