Les [] pour dire que l'on parle bien de la valeur de la cellule
Le worksheetfunction pour Find car il s'agit bien de la fonction de feuille de calcul
Le Chr(34) pour gérer le problèmes des double-quotes consécutives (on suppose que le texte cherché est bien
J'ajouterais que le cells("A1") au lieu du Range("A1") doit faire tousser la machine.
Mais le pire, c'est la syntaxe de la fonction Mid() ; on est loin du compte : Mid ( texte, début, nombre de caractères ).
Utiliser de préférence VBA.Mid( ) à Mid( ) tout seul.
Bonjour Eriiiic,
J'ai découvert ce pb il y a 3-4 ans. Mes macros fonctionnaient sur certains postes et pas sur d'autres (même VBA et même configuration, bien sûr). Ce problème de référencement est très mal renseigné par Microsoft. J'y ai passé un temps fou. Pourtant si on Google "problème VBA right left trim mid" on a de quoi y passer un week-end complet.
Ce problème semble ne toucher que les fonctions concernant les chaînes de caractères. En imposant la référence à l'aide du préfixe [VBA.] le problème disparaît. Depuis, j'en ai fait une règle générale dans mes codes VBA (pas VB).
Si tu omets le nombre de caractères dans Mid( ), il prend tout depuis le pointeur jusqu'à la fin de la chaîne.
5 parenthèses en ouverture, 4 en fermeture : ton compilateur devrait arrêter les frais tout de suite. Ce n'est pas un copier-coller.
Ce qui ajouté aux deux autres erreurs de syntaxe signalées [Cells("A1")] et ["" - ""], on peut considérer que la proposition de notre ami Eriiiic est de loin la meilleure solution. Elle est plus courte et elle fonctionne.
Bien sur, je n'ai pas testé le code d'origine, il était évident qu'il ne fonctionnait pas ! Après, d'accord que Instr est préférable, ne serait-ce que par sa souplesse...