[Code VBA Excel] Compatibilité Windows / Mac

Hello les gens !

Je viens vers vous car j'ai un outil de suivi Excel blindé de macro. Ce fichier est stocké dans OneDrive Entreprise et je le partage avec plusieurs collègues qui doivent intervenir dessus.

J'ai créé ce document sous Windows et bien entendu, d'autres sont sur MAC. Hors, j'ai le sentiment que certaines fonctions ne sont pas prises en charge comme chez moi.

Voici un exemple simple d'une macro qui ne semble pas passer :

Public Function Clean(strMot As String) As String
     strMot = Replace(strMot, "é", "e")
     strMot = Replace(strMot, "è", "e")
     strMot = Replace(strMot, "ê", "e")
     strMot = Replace(strMot, "à", "a")
     strMot = Replace(strMot, "ù", "u")
     strMot = Replace(strMot, "ç", "c")
     strMot = Replace(strMot, "ô", "o")
     strMot = Replace(strMot, "î", "i")
     strMot = Replace(strMot, "ï", "i")
     strMot = Replace(strMot, "É", "E")
     strMot = Replace(strMot, "È", "E")
     strMot = Replace(strMot, "Ê", "E")
     strMot = Replace(strMot, "Ë", "E")
     strMot = Replace(strMot, "Î", "I")
     strMot = Replace(strMot, "Ï", "I")
     strMot = Replace(strMot, "à", "a")
     strMot = Replace(strMot, "á", "a")
     strMot = Replace(strMot, "â", "a")
     strMot = Replace(strMot, "À", "A")
     strMot = Replace(strMot, "Á", "A")
     strMot = Replace(strMot, "Â", "A")
     strMot = Replace(strMot, "Ô", "O")
     strMot = Replace(strMot, "Ö", "O")
     strMot = Replace(strMot, "ñ", "n")
     strMot = Replace(strMot, "Ñ", "N")
     strMot = Replace(strMot, "&", "And")
     strMot = Replace(strMot, " ?", "")
     strMot = Replace(strMot, "?", "")
     strMot = Replace(strMot, " !", "")
     strMot = Replace(strMot, "!", "")
     strMot = Replace(strMot, " (", "")
     strMot = Replace(strMot, "(", "")
     strMot = Replace(strMot, " )", "")
     strMot = Replace(strMot, ")", "")
     strMot = Replace(strMot, " ;", "")
     strMot = Replace(strMot, ";", "")
     strMot = Replace(strMot, " ", "-")
     strMot = Replace(strMot, ":", "_")
     strMot = Replace(strMot, "'", "-")
     strMot = Replace(strMot, ",", "")
     strMot = Replace(strMot, "/", "-")
     strMot = Replace(strMot, "[", "_")
     strMot = Replace(strMot, "]", "_")
     strMot = Replace(strMot, "œ", "oe")
     strMot = Replace(strMot, "í", "i")
     strMot = Replace(strMot, "...", "")
     Clean = strMot
End Function

Comment puis-je faire en sorte que ce soit compatible dans tous les environnements ?

Et dois-je m'attendre à d'autres surprises de compatibilité dans ce genre ?

Merci par avance pour vos retours ;)

Bonjour,

Je ne connais pas Mac, mais du fait que ton problème vient surment d'un encodage UTF8 ça m'étonnerait que ça fonctionne sous windows !

Hello dysorthographie,

Merci pour ton retour.

Sous Windows, ça fonctionne sans souci ! Ça me permet d'épurer tous les caractères spéciaux dont je ne veux pas (je dois créer des arborescences sur un serveur distant).

Quand le fichier est ouvert sur un MAC, la ligne Public Function Clean(strMot As String) As String passe en jaune dans l'éditeur VBA. Et du coup, mes collègues ne peuvent même pas éditer le document :/

P'tit up

Bonjour,

Essaie de modifier le nom de la fonction : CleanStrings ald Clean.

Clean est le nom d'une fonction intégrée d'Excel. Il y a peut-être confusion sous Mac.

Cdlt.

Rechercher des sujets similaires à "code vba compatibilite windows mac"