Modifier des caractères dans Vba en fonction de l'environnement Mac ou Windows

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Gilles52300

XLDnaute Junior
Bonjour Messieurs,

Je voudrais savoir comment faire pour modifier des caractères suivant l'environnement mac ou windows.
Je travaille sur Mac, en en passant le fichier sous Windows, j'ai plusieurs caractères qui sont modifiés tels que le "é" qui devient un "Z avec un tilda dessus" ou bien le "à" qui se transforme en "^". Je voudrais aussi remplacer les ":" du chemin d'accès mac par "\" qui correspond au chemin d'accès windows.

pour définir 'l'environnement, j'ai ce bout de code qui fonctionne
Code:
Private Sub CommandButton1_Click()
'Vérification de l'environnement mac ou windows
    If Win32 Or Win64 Then
       MsgBox ("environnement windows")
    Else
        MsgBox ("environnement mac")
    End If
End Sub

mais ensuite, je ne vois pas comment faire pour vérifier tout le texte qui peut suivre et modifier les caractères automatiquement.

je vous remercie de votre aide.
Cordialement
Gilles
 
Re : Modifier des caractères dans Vba en fonction de l'environnement Mac ou Windows

Alors pour l'impression suivant l'environnement mac ou windows, j'ai utilisé ceci :

Code:
     If Win32 Or win64 Then
                    chEmin = chEmin & Chr(92) & "Caisse" & Chr(92) & xMois 
                    Else
                    chEmin = chEmin & Chr(58) & "Caisse" & Chr(58) & xMois 
                End If
par contre pour modifier tous les autres caractère, si vous connaissais une méthode plus rapide...
 
Re : Modifier des caractères dans Vba en fonction de l'environnement Mac ou Windows

Bonjour Gilles52300,

Où avez-vous été pêcher ce code :

Code:
If Win32 Or Win64 Then
  MsgBox ("environnement windows")
Else
  MsgBox ("environnement mac")
End If
S'il n'y a pas Option Explicit, VBA considère que Win32 et Win64 sont des variables de type Variant.

Elles seront donc initialisées à Empty (zéro).

Et donc quel que soit l'ordi la MsgBox affichera "environnement mac" 🙄

A+
 
Re : Modifier des caractères dans Vba en fonction de l'environnement Mac ou Windows

Bonjour Job 75.

Je te remercie pour ta réponse qui m'est très utile.
N'ayant pas d'environnement windows sous la main, je n'avais pu tester et donc pas me rendre compte qu'il me donnait toujours la même réponse.

je me penche sur le problème.

merci encore.
 
Re : Modifier des caractères dans Vba en fonction de l'environnement Mac ou Windows

Bon après quelque recherche complémentaire, j'ai deux solutions pour le chemin d'accès:

la première la plus simple qui permet de mettre le bon séparateur en fonction de l'environnement
mac ou windows :"chEmin = chEmin & cLient & Application.PathSeparator & Sfacture

et la seconde qui permet de déterminer les 3 premières lettre du système

Système as string
Systeme = Application.OperatingSystem
Systeme = Left(Systeme, 3)
MsgBox Systeme '(Mac ou Win)

par contre je recherche toujours une solution pour modifier les caractères qui changent en fonction de l'environnement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
582
Retour