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

Recuperer le premier mot d'une cellule en VBA

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 !

anthooooony

XLDnaute Occasionnel
Bonsoir à tous

Je cherche la correspondance d'une formule excel en VBA.

Je dois recuperer en masse le premier mot qui correspondant à un nom, j'ai trouvé cette formule que je souhaite adapter en vba en vain.

j'ai essayé Instr mais j'ai du mal la faire.


Toto - Clients non relancés depuis 45 jours
=GAUCHE(B3;TROUVE(" ";B3)-1)


Merci d'avance

Anthooooony
 
Re : Recuperer le premier mot d'une cellule en VBA

Bonsoir à tous,

La traduction de la formule peut se faire ainsi :

mot = Left([B3], InStr(1, [B3], " ") - 1)

Attention, toutefois, le code plante si tu n'as pas d'espace.
 
Re : Recuperer le premier mot d'une cellule en VBA

Bonsoir à tous.


Une autre fonction :
VB:
Function PremierMot$(c$)
    PremierMot = Split(LTrim(c) & Space(1))(0)
End Function
Pour obtenir le premier mot de [B3] :
VB:
Sub toto
    mot = Split(LTrim([B3]) & Space(1))(0)
End Function
ou encore :
VB:
Sub toto
    mot = PremierMot([B3])
End Function
(Space(1) peut être remplacé par " ".)


Bonne nuit.


ROGER2327
#6331


Vendredi 27 Sable 140 (Saint Tic, conjoint - fête Suprême Quarte)
7 Nivôse An CCXXI, 9,4276h - terre végétale
2012-W52-4T22:37:34Z
 
Re : Recuperer le premier mot d'une cellule en VBA

Bonjour à tous,

on peut même s'affranchir de l'espace, ce dernier étant le séparateur par défaut de la fonction "Split" :
Code:
MsgBox Split(LTrim([B3]))(0)

d'ailleurs Roger🙂, je ne comprends pas ttrop l'utilité du & (& Space(1)), caractère de concaténation dans ton code... quelque chose doit m'échapper...

bonne journée
@+
 
Dernière édition:
Re : Recuperer le premier mot d'une cellule en VBA

Bonjour à Tous, Pierrot,

Je pense que la sécurité à été ajoutée en cas de cellule vide, peut être qu'un test serait plus approprié :

Code:
MsgBox LTrim(Split([B3] & " ")(0))

ou

Code:
if [B3] <>"" then  MsgBox Split(LTrim([B3]))(0)
 
Re : Recuperer le premier mot d'une cellule en VBA

Re,

aarf, oui ne renvoie pas d'erreur si espace rajouté au niveau de l'argument de la fonction....

Edition : oui, il faut tenir compte de la fonction LTrim....
 
Dernière édition:
Re : Recuperer le premier mot d'une cellule en VBA

Bonjour à tous.


Les différentes propositions rassemblées dans le classeur joint...​



ROGER2327
#6333


Samedi 28 Sable 140 (Saint Cervelas, penseur - fête Suprême Quarte)
8 Nivôse An CCXXI, 5,1454h - fumier
2012-W52-5T12:20:57Z
 

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

Discussions similaires

Réponses
5
Affichages
960
Z
Réponses
7
Affichages
1 K
Zifox
Z
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…