IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Incompatibilité VBA EXCEL windows sous Mac


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 45
    Points : 24
    Points
    24
    Par défaut Incompatibilité VBA EXCEL windows sous Mac
    Bonjour, j'ai lu cette discussion.
    Quelqu'un a-t-il trouvé une explication?

    Je crée mes fichiers sur Office 2007 PC au boulot et chez moi sur mon Mac (MacBook Air avec Office 2011), il m'est impossible d'ouvrir mes projets VBA protégés par un mot de passe. Je tape le bon, c'est sûr et certain, mais il le considère comme erroné.
    Je ne comprends pas d'où vient le problème, utilisent-ils des interprétations de cryptage différentes ? Ou bien est-ce que le fait de verrouiller un projet VBA sur PC fait appel à une library Windows ?

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    C'est peut être un problème d'encodage de caractère (la traduction du mot de passe en octet). Si tu cherches sur le net tu verras que souvent il existe un encodage spécifique mac ou windows en plus des encodages iso. il me semble que sur Windows on exploite ANSI (en fait windows1252 extension de l'ascii).

    Table d'encodage Windows 1252

    Apparemment sous mac on use de Mac OS Roman

    table d'encodage Mac
    ERRATUM: après vérification il apparaît que depuis MAC OSx ils sont passés à utf-8, mais cela ne change rien par rapport à la suite.
    Tableau d'encodage UTF-8

    En consultant les 2 tableaux on constate que les 128 premiers caractères ont le même encodage (c'est l'ASCII).

    Pour résoudre le problème de mot de passe tu devrais peut être essayer d'utiliser un mot de passe ne comprenant que des caractères ASCII: [a-z,A-Z,1-9]

    Aucun accent ou autre.

    J'ai déjà remarque qu'avec des utilitaires de destruction de mot de passe de classeurs Excel, il faut que les Excel soit de mêmes régions (l'utilitaire qui hacke le mot de passe utilisé à partir d'Excel en-US ne peut hacker un classeur avec un pass créé sous Excel fr-FR). A l'époque je m'étais dit que c'était un problème d'encodage, mais je n'ai pas cherché à creuser plus loin.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Merci pour ta réponse, concernant mon mot de passe il est bien est en caractères ASCII.
    Cela dit, de mémoire, il me semble avoir un eu message d'erreur en rapport avec la région du logiciel.

    Pour autant les deux versions sont en français, à moins que l'une d'elle soit US mais avec la langue fr ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    Tiens d'après ce site:

    http://mac2.microsoft.com/help/offic...1-bb57d2423705

    il ne faut pas dépasser 15 caractères sous mac. Donc dans windows il faut mettre un passe de moins de 15 caractères

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Merci c'est bon à savoir

    Mon mot de passe actuel n'a que 7 lettres, en minuscules et sans accent.

    Il y a un moyen de connaître la région d'Excel ? Je suis allé voir dans Ressources -> A propos de... mais rien ne m'indique cette info

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    tiens en poussant un peu plus loin on trouve ce fil:

    http://microsoft.public.fr.mac.narki...e-sous-windows


    Il y a eu des changements dans les lois vis à vis de la cryptographie. En gros certains algo son exploitables dans certains pays mais pas dans d'autres. Donc il est possible de trouver 2 Excel de même génération (mais issus de pays différents) implémenter des algo de crypto différents. Donc un des 2 Excel ne peut ouvrir les fichiers de l'autre. Cependant d'après le fil, un message d'erreur devrait apparaître.

    Entre 2 Excel de versions différentes même problème.


    EDIT
    pour la région d'origine d'excel je ne sais pas. Mais si ton excel est fr, c'est un canadien, un suisse, un belge ou un français (dans un avion...).

    Pour ton problème j'essaierai ceci: supprimer le pass sur Excel 2007. Mettre un pass sur Excel 2010 (version pc). tenter de l'ouvrir avec mac office 2011 et regarder.

    Je t'ai mis en pièce jointe un fichier xlsx créé avec excel 2010 windows protégé en lecture par un mot de passe: monpass
    Essaie de l'ouvrir sur ton mac.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Merci pour toutes ces informations, c'est intéressant

    Je serai en déplacement ce week-end donc je ne pourrai tester ton fichier sur le mac que la semaine prochaine, je viendrai donner le résultat ici.

    Par ailleurs, en cherchant sur le web j'ai trouvé une macro intéressante qui donne la langue et la région de notre Excel. J'ai testé sur le 2007 du taf, ça donne bien fr-France. Il faudra que je teste sur le Mac aussi, mon Office 2011 est une vraie version achetée et non piratée, mais je l'ai installé via le téléchargement internet qu'ils proposent et non par le cd (vu que j'ai un MB Air) donc aussi bien j'ai une version canadienne par exemple, je ne sais pas...

    Verdict la semaine prochaine, merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    Sub LanguageTest()
    MsgBox "User Interface Language: " _
    & Langue(Application.LanguageSettings _
    .LanguageID(msoLanguageIDUI))
    End Sub
     
    Private Function Langue(ByVal ID&) As String
    Select Case ID
    Case 1078: Langue = "Africaans"
    Case 1052: Langue = "Albanais"
    Case 1031: Langue = "Allemand - Allemagne"
    Case 3079: Langue = "Allemand - Autriche"
    Case 5127: Langue = "Allemand - Liechtenstein"
    Case 4103: Langue = "Allemand - Luxembourg"
    Case 2055: Langue = "Allemand - Suisse"
    Case 7177: Langue = "Anglais - Afrique du Sud"
    Case 3081: Langue = "Anglais - Australie"
    Case 10249: Langue = "Anglais - Belize"
    Case 4105: Langue = "Anglais - Canada"
    Case 9225: Langue = "Anglais - Caraïbes"
    Case 1033: Langue = "Anglais - États-Unis"
    Case 6153: Langue = "Anglais - Irlande"
    Case 8201: Langue = "Anglais - Jamaïque"
    Case 13321: Langue = "Anglais - Philippines"
    Case 2057: Langue = "Anglais - Royaume-Uni"
    Case 11273: Langue = "Anglais - Trinidad"
    Case 5121: Langue = "Arabe - Algérie"
    Case 1025: Langue = "Arabe - Arabie Saoudite"
    Case 15361: Langue = "Arabe - Bahreïn"
    Case 3073: Langue = "Arabe - Égypte"
    Case 14337: Langue = "Arabe - Émirats Arabes Unis."
    Case 2049: Langue = "Arabe - Iraq"
    Case 11265: Langue = "Arabe - Jordanie"
    Case 13313: Langue = "Arabe - Koweït"
    Case 12289: Langue = "Arabe - Liban"
    Case 4097: Langue = "Arabe - Libye"
    Case 6145: Langue = "Arabe - Maroc"
    Case 8193: Langue = "Arabe - Oman"
    Case 16385: Langue = "Arabe - Qatar"
    Case 10241: Langue = "Arabe - Syrie"
    Case 7169: Langue = "Arabe - Tunisie"
    Case 9217: Langue = "Arabe - Yémen"
    Case 1067: Langue = "Arménien"
    Case 2092: Langue = "Azéri - Cyrillique"
    Case 1068: Langue = "Azéri - Latin"
    Case 1069: Langue = "Basque"
    Case 1059: Langue = "Biélorusse"
    Case 1026: Langue = "Bulgare"
    Case 1027: Langue = "Catalan"
    Case 3076: Langue = "Chinois - Hong-Kong"
    Case 5124: Langue = "Chinois - Macao"
    Case 2052: Langue = "Chinois - Rép. Populaire de Chine"
    Case 4100: Langue = "Chinois - Singapour"
    Case 1028: Langue = "Chinois - Taïwan"
    Case 1042: Langue = "Coréen"
    Case 1050: Langue = "Croate"
    Case 1030: Langue = "Danois"
    Case 11274: Langue = "Espagnol - Argentine"
    Case 16394: Langue = "Espagnol - Bolivie"
    Case 13322: Langue = "Espagnol - Chili"
    Case 9226: Langue = "Espagnol - Colombie"
    Case 5130: Langue = "Espagnol - Costa Rica"
    Case 17418: Langue = "Espagnol - El Salavador"
    Case 12298: Langue = "Espagnol - Équateur"
    Case 1034: Langue = "Espagnol - Espagne"
    Case 4106: Langue = "Espagnol - Guatemala"
    Case 18442: Langue = "Espagnol - Honduras"
    Case 19466: Langue = "Espagnol - Mexique"
    Case 6154: Langue = "Espagnol - Panama"
    Case 15370: Langue = "Espagnol - Paraguay"
    Case 10250: Langue = "Espagnol - Pérou"
    Case 20490: Langue = "Espagnol - Puerto Rico"
    Case 7178: Langue = "Espagnol - République Dominicaine"
    Case 14346: Langue = "Espagnol - Uruguay"
    Case 8202: Langue = "Espagnol - Venezuela"
    Case 1061: Langue = "Estonien"
    Case 1065: Langue = "Farsi"
    Case 1080: Langue = "Féroïen"
    Case 1035: Langue = "Finlandais"
    Case 2060: Langue = "Français - Belgique"
    Case 3084: Langue = "Français - Canada"
    Case 1036: Langue = "Français - France"
    Case 5132: Langue = "Français - Luxembourg"
    Case 4108: Langue = "Français - Suisse"
    Case 1071: Langue = "FYRO Macédonien"
    Case 1084: Langue = "Gaélique - Écosse"
    Case 2108: Langue = "Gaélique - Irlande"
    Case 1032: Langue = "Grec"
    Case 1037: Langue = "Hébreu"
    Case 1081: Langue = "Hindi"
    Case 1038: Langue = "Hongrois"
    Case 1057: Langue = "Indonésien"
    Case 1039: Langue = "Islandais"
    Case 1040: Langue = "Italien - Italie"
    Case 2064: Langue = "Italien - Suisse"
    Case 1041: Langue = "Japonais"
    Case 1062: Langue = "Letton"
    Case 1063: Langue = "Lituanien"
    Case 2110: Langue = "Malais - Brunei"
    Case 1086: Langue = "Malais - Malaisie"
    Case 1082: Langue = "Maltais"
    Case 1102: Langue = "Marathi"
    Case 2067: Langue = "Néerlandais - Belgique"
    Case 1043: Langue = "Néerlandais - Pays-Bas"
    Case 1044: Langue = "Norvégien - Bokmaal"
    Case 2068: Langue = "Norvégien - Nynorsk"
    Case 1056: Langue = "Ourdou"
    Case 2115: Langue = "Ouzbek - Cyrillique"
    Case 1091: Langue = "Ouzbek - Latin"
    Case 1045: Langue = "Polonais"
    Case 1046: Langue = "Portugais - Brésil"
    Case 2070: Langue = "Portugais - Portugal"
    Case 1047: Langue = "Rhéto - Roman"
    Case 2072: Langue = "Roumain - Moldavie"
    Case 1048: Langue = "Roumain - Roumanie"
    Case 1049: Langue = "Russe"
    Case 2073: Langue = "Russe - Moldavie"
    Case 1103: Langue = "Sanskrit"
    Case 3098: Langue = "Serbe - Cyrillique"
    Case 2074: Langue = "Serbe - Latin"
    Case 1074: Langue = "Setswana"
    Case 1051: Langue = "Slovaque"
    Case 1060: Langue = "Slovène"
    Case 1070: Langue = "Sorbian"
    Case 2077: Langue = "Suédois - Finlande"
    Case 1053: Langue = "Suédois - Suède"
    Case 1072: Langue = "Sutu"
    Case 1089: Langue = "Swahili"
    Case 1097: Langue = "Tamoul"
    Case 1092: Langue = "Tatar"
    Case 1029: Langue = "Tchèque"
    Case 1054: Langue = "Thaï"
    Case 1073: Langue = "Tsonga"
    Case 1055: Langue = "Turque"
    Case 1058: Langue = "Ukrainien"
    Case 1066: Langue = "Vietnamien"
    Case 1076: Langue = "Xhosa"
    Case 1085: Langue = "Yiddish"
    Case 1077: Langue = "Zoulou"
    Case Else: Langue = "Unknown"
    End Select
    End Function

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    ok
    super pour la macro. L'excel avec lequel j'ai verrouillé le fichier est 2010 pour Windows en fr-FR aussi.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    Benjile j'ai testé ton fichier sur mon Mac et je le déverrouille sans problème. Par-contre est-ce qu'il en serait de même sur une protection d'un projet vba ?

    Par ailleurs, la macro de test n'a pas fonctionné, il me met le code du MsgBox en erreur. La syntaxe est peut-être différente sur Mac, je n'ai pas eu le temps de chercher.

  10. #10
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    c'est un xlsx il n'y a pas de macros dedans.

    Pour le verrouillage de ton projet VBA, je pense que ça ne marchera pas au vue d'une autre conversation en cours sur le forum qui traite aussi de problème de compatibilité mac windows
    lien

    apparemment il y a de gros problèmes d'encodage de caractère dans les projets VBA mais je n'arrive pas encore à tout saisir. VBA mac a l'air d'encoder les caractères du code dans un encodage que je ne comprends pas

    Malgré tout je te mets un fichier dont le projet vba est verrouillé par le même mot de pass que l'autre post généré avec 2010 sur seven
    Fichiers attachés Fichiers attachés

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    D'accord, eh bien ça n'a pas l'air simple tout ça !

    Merci je testerai ton fichier chez moi

Discussions similaires

  1. Réponses: 50
    Dernier message: 14/08/2014, 13h57
  2. Incompatibilité VBA EXCEL windows sous Mac
    Par panda78 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 31/07/2012, 08h57
  3. date time picker VBA EXCEL 2003 sous vista
    Par andeluc dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/04/2008, 18h14
  4. [VBA EXCEL] : Enregistrer sous
    Par forsay1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/07/2006, 14h52
  5. [VBA][EXCEL] GetExternalData sous Excel97
    Par Scuriolus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2005, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo