J'ai récemment hérité d'une macro VBA qui nécessite l'ajout d'une logique de validation. Je dois pouvoir déterminer si des caractères dans une cellule basée sur du texte sont des caractères non ASCII (c'est-à-dire avoir une valeur binaire> 0x7F). Les cellules peuvent contenir certaines valeurs de contrôle de chariot (en particulier les sauts de ligne) qui doivent être conservées (ainsi la fonction CLEAN ne fonctionne pas pour cette validation). J'ai essayé la fonction IsText, mais j'ai trouvé qu'elle interpréterait les séquences de caractères UTF-8 comme du texte valide (ce que je ne veux pas).Identifier les caractères non valides dans la cellule basée sur le texte
Je n'ai pas besoin de manipuler réellement la chaîne, je veux juste afficher une erreur à l'utilisateur qui exécute la macro pour lui dire qu'il y a des caractères invalides (non-ASCII) dans une cellule spécifique.
C'est une bonne réponse, avec mon upvoting pleinement mérité. J'ai utilisé des expressions rationnelles dans le passé, et je les ai trouvées utiles, puissantes et l'exemple parfait d'un morceau de code en écriture seule: Dieu a du mal à parser le troisième correspondant imbriqué. Donc, ça fonctionne, c'est efficace, mais don Ne vous attendez pas à ce que les futurs développeurs de code gardent vos expressions rationnelles ... – jpinto3912