Recuperer le premier mot d'une cellule en VBA

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
 

ROGER2327

XLDnaute Barbatruc
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
 

Pierrot93

XLDnaute Barbatruc
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:

camarchepas

XLDnaute Barbatruc
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)
 

Pierrot93

XLDnaute Barbatruc
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:

ROGER2327

XLDnaute Barbatruc
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

  • XLD_198338.xlsm
    17.8 KB · Affichages: 179

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 253
Membres
103 498
dernier inscrit
FAHDE