Sélectionner chaine variable

Résolu/Fermé
killerlapinou - 8 janv. 2010 à 11:28
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 8 janv. 2010 à 13:57
Bonjour,

Débutant en VBA, je cherche à sélectionner le texte à l'intérieur d'une cellule, mais la longuerur de cette sélection est variable: elle doit s'arrêter au premier "espace".

Exemple: "eeee aaaa", je veux "eeee"

J'ai tenté: Left(cells(1,1)," ")

Mais ça ne fonctionne pas, et je n'ai rien trouvé sur les divers forum.
Je sais c'est tout bête mais bon, on commence.

Merci d'avance
A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
8 janv. 2010 à 11:43
Salut,
La syntaxe pour "Left" est : Left(chaine de caractère, nombre de caractère).
Il te faut donc déterminer la place de l'espace dans ta chaine :
Dans ton exemple : "eeee aaaa"
Instr(Cells(1,1)," ") 
te renvoie 5. Formidable non?
Ne reste plus qu'à "intégrer" ce résultat à "Left" comme ceci :
Left(Cells(1, 1), Instr(Cells(1,1)," "))

te renvoie eeee"espace"
pour n'avoir que les caractères sans l'espace tu peux faire comme ceci :
Dim a as Integer
a = Instr(Cells(1,1)," ") - 1
MsgBox (Left(Cells(1, 1), a)

0
killerlapinou
8 janv. 2010 à 13:54
C'est tout con, et c'est pour ça que c'est génial.

Merci, et bonne année également.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
8 janv. 2010 à 13:57
Bien, sujet résolu. Mais stp ne tues plus de lapin...
0