Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

supprimer le contenu d'une cellule après deuxième mot

  • Initiateur de la discussion Initiateur de la discussion chac-attack
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

chac-attack

Guest
Bonjour le forum,

je fais une fois de plus appel à vous car je bloque sur une macro. Dans une cellule j'ai un nom et plusieur prénom (ex: DUPONT Jean benoit emric) je souhaite ne garder que DUPONT Jean par macro (très important).

merci d'avance pour vos solutions

Chac-attack
 
Re : supprimer le contenu d'une cellule après deuxième mot

Hello,

Supposons que ton nom soit en A1, essaie comme ceci en B1 à tirer vers le bas..
Code:
=(GAUCHE(A1;CHERCHE(" ";A1)))
A tester.

Cdt, Hulk.
 
Re : supprimer le contenu d'une cellule après deuxième mot

Re,

Autant pour moi, avec cette formule, il ne prend pas en compte le premier prénom.

Il te faut une formule un poil plus complexe, dont je laisse le soin aux maestros d'y remédier.

Cdt, Hulk.
 
Re : supprimer le contenu d'une cellule après deuxième mot

Re,

Essaie celle-là, toujours en B1 et ton nom en A1 !
Code:
=GAUCHE(A1;CHERCHE(" ";A1;1))&STXT(A1;CHERCHE(" ";A1;1)+1;CHERCHE(" ";A1;CHERCHE(" ";A1;1)+1)-CHERCHE(" ";A1;1))
Cdt, Hulk.
 
Re : supprimer le contenu d'une cellule après deuxième mot

Bonjour,

si les mots sont tous séparés par 1 espace, macro à adapter :
Code:
Sub N_P()
   For Each C In [I]plage[/I] [COLOR=SeaGreen]'à définir[/COLOR]
     Nom$ = Left(C, InStr(C, " "))
     Prenom$ = Right(C, Len(C) - Len(Nom))
     [I]C.Offset(, 1) [/I]= Nom & " " & Left(Prenom, InStr(Prenom, " ")) [COLOR=SeaGreen]'à définir[/COLOR]
   Next
 End Sub
 
Dernière édition:
Re : supprimer le contenu d'une cellule après deuxième mot

Bonjour,

Voici une fonction
Code:
Function extract_nom(lc, nb)
Application.Volatile
tmp = Split(lc, " ")
For b = 1 To nb
    nom = nom & " " & tmp(b - 1)
Next
extract_nom = Trim(nom)
End Function

le second argument est le nombre mot que tu souhaites (ici 2)

cette fonction peut être utilisée directement dans la feuille ou par une autre macro

Macro que demandait chac-attack
 
Re : supprimer le contenu d'une cellule après deuxième mot

Re-bonsoir à tous
Pas si simple que ça en a l'air, cette affaire là !
Code:
[COLOR="DarkSlateGray"]Function coupe(ch As String, Optional cr As Integer = 1) As String
Dim s, i As Long
   Application.Volatile
   s = Split(Trim(ch))
   For i = 0 To UBound(s)
      coupe = Trim(coupe & Space(1) & s(i))
   Next i
   s = Split(coupe, , cr + 1)
   coupe = Empty
   For i = 0 To Application.Min(cr - 1, UBound(s))
      coupe = Trim(coupe & Space(1) & s(i))
   Next i
End Function[/COLOR]
Regroupement des diverses solutions dans le fichier joint.​
Bonne nuit.
ROGER2327
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
1
Affichages
717
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…