Sélectionner chaine variable

Résolu
killerlapinou -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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
Configuration: Windows XP Internet Explorer 6.0

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. killerlapinou
     
    C'est tout con, et c'est pour ça que c'est génial.

    Merci, et bonne année également.
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bien, sujet résolu. Mais stp ne tues plus de lapin...
    0