Re,
Mid(SDest2, 2)
Une forme plus générale est Mid(SDest2,début ,nbcar) : on considère la chaine de caractères SDest2 et on renvoie
nbcar caractères de la chaine à partir du caractère de rang
début. Mid("abc,def,ghi",6;4) renvoie "ef,g"
- Si nbcar est omis, Mid renvoie jusqu'à la fin de la chaine de caractères : Mid("abc,def,ghi",6) renvoie "ef,ghi"
- Si nbcar est supérieur au nombre restant de caractères, Mid renvoie jusqu'à la fin de la chaine de caractères : Mid("abc,def,ghi",999) renvoie "ef,ghi"
- Si Début est supérieur au nombre de caractères de la chaine, Mid renvoie une chaine vide : Mid("abc,def,ghi",99;4) renvoie ""
- Si la chaine SDest2 est vide alors MID renvoie la chaine vide "" (début et nbcar sont quelconques)
Donc Mid(SDest2, 2) renvoie la chaine extraite de SDest2 à partir du 2ème caractère.
Dans la macro, on va avoir deux cas :
Cas n°1 :
On a trouvé au moins une adresse mail donc SDest2 est de la forme ";
nom@xxx.com..."
Il faut enlever ce point-virgule. Cela se fait par Mid(SDest2,2)
Cas n°2 :
On n'a trouvé aucune adresse donc SDest21 est la chaine vide.
Et Mid(SDest2,2) donne aussi la chaine vide.
Dans les deux cas, on aura ôter le ";" en première position (même s'il n'existe pas
)
On aurait aussi pu écrire :
If Left(SDest2,1)= ";" then SDest2 = Mid(SDest2,2) mais c'est plus long à écrire...