Mac office 2011 protection éditeur VBA et sauvegarde

goufra

Membre confirmé
14 Novembre 2010
27
2
81
Bonjour à vous,
Toujours béotien pour l’utilisation d’un Mac

Avec windows Seven sous office 2010 j’ai développé une application .
1/ J’ai notamment protégé l’éditeur en faisant :
VBA /Outils/propriétés de VBA projects /Protection
Puis case coché / inscription mot de passe 2 fois
2/ j’ai une macro de sauvegarde.
Sub test()
Dim x As String
Sheets("volet2").Select
x = [v2ndf] & ".XLSM"
ActiveWorkbook.SaveCopyAs Filename:=x

End Sub

Mon correspondant mac avec office 2011 :
1/ ne peut pas ouvrir la protection : Mot de passe ou code d’accès refusé.
2/ la sauvegarde bug !


Pourriez-vous m’indiquer s’il existe une autre solution pour mac ?

A priori je ne peux pas vous envoyer une pièce jointe. les fichier du type xls ou xlsm ne sont pas mentionnés.

D’avance merci
Bonne journée.
 
je ne peux pas vous envoyer une pièce jointe. les fichier du type xls ou xlsm ne sont pas mentionnés.
Non, mais les .zip le sont...

Ceci dit, il n'est pas évident qu'il soit indispensable d'avoir une PJ, je pense que la description permet de reproduire la situation (enfin, si, c'est vrai que tout le monde sur Mac n'a pas forcément Office 2010/Windows7 sous la main).

Je ne suis pas en mesure de regarder ça pour le moment mais, si possible, je vois ça ce soir. Quel est le message d'erreur lors de l'essai de sauvegarde ?
 
Premier test, vite fait : un classeur .xls créé avec Excel 2003 transféré sur Excel 2011. La macro fonctionne sans problème. Par contre, le mot de passe de protection du module n'est pas reconnu… J'essayerai avec Excel 2010 plus tard.
 
bonsoir

Merci à toi pour ton attention.

Il a mac office 2011 (mac office 2008 n'accepte pas visual basic)
Il bug !
Je ne peux en dire plus. A priori pas d'explication !
Si tu as office mac 2011 je peux t'envoyer le fichier en dépôt sur dl . free et t'envoyer le lien dans une réponse

j'enverrai sous xls et xlsm
Encore merci
dans l'attente.
Cordialement

---------- Nouveau message ajouté à 19h35 ---------- Le message précédent a été envoyé à 18h55 ----------

Rebonsoir
Voici le lien
http://dl.free.fr/gMRysd01M

Le fichier est protégé par le mot de passe suivant: mac


Ainsi tu auras 2 fichiers l'un xls et l'autre Xlsm

Je crois comprendre qu'un fichier xls serait accepté et non un fichier xlsm
peux-tu vérifier ?
Le mot de passe pour accéder à l'éditeur VBA est :
bonjour

bonne soirée
 
Remarques rapides :
- envoyer un fichier en .exe à un utilisateur de Mac OS X n'est pas franchement une bonne idée (mais bon, je suis assez dégourdi pour savoir m'en sortir, me concernant).
- ton fichier goufra n'est pas en .xlsm mais en .xls
- la macro fonctionne bien chez moi, que ce soit par le bouton, par le bouton "Macros" de l'onglet "Développeur" du ruban ou en lançant la macro via le menu (eh oui, gardarem lou menus !!)
- le mot de passe n'est pas reconnu pour déverrouiller le module (mais avec Excel 2010/Windows7 pas de souci).

En gros, la même chose que ce que j'avais pu voir. Reste à investiguer encore un peu pour cette histoire de mot de passe, donc. Je te tiendrai au courant.
 
Navré, mais comme j'ai rendu le fichier rar.exe auto extractable je pensais que ...

J'ai revérifié l'envoi il y a bien 2fichiers goufra l'un en xls et l'autre en xlsm.

Peut-être que je dois remplacer
x = [v2ndf] & ".XLSM"
par
x = [v2ndf] & ".XLS"
pour que mon correspondant puisse obtenir sa sauvegarde !
bref je suis béotien en mac .... je patouille

à te lire
merci
 
Navré, mais comme j'ai rendu le fichier rar.exe auto extractable je pensais que ...
Un fichier .exe étant un exécutable Windows, il ne peut s'exécuter que sous Windows, auto-extractible ou pas… ;)

J'ai revérifié l'envoi il y a bien 2 fichiers goufra l'un en xls et l'autre en xlsm.
Oui au temps pour moi, le deuxième fichier était allé se "ranger" dans un coin du bureau Windows. Mais bon ça n'a pas d'importance, ça donne exactement les mêmes résultats que le .xls : fonctionnement sans problème de la macro, refus de reconnaissance du mot de passe. Il est à noter qu'en sens inverse, le mot de passe d'un classeur créé avec Excel 2011 sur Mac est reconnu par Excel 2010 sous Windows.

Concernant l'exécution de la macro, il faudrait voir ce qui se passe exactement chez ton correspondant. Chez moi, en tout cas, aucun souci de fonctionnement (même avec Excel 2004). Et vu les instructions, il n'y a rien qui justifie un plantage, a priori, sauf si dans la réalité ta macro devait être différente de celle utilisée pour les tests.

Je vais essayer d'enquêter un peu plus sur cette histoire de mot de passe, qui est tout de même curieuse. Peut-être lié à des méthodes de cryptage ? En tout cas, mon mot de passe (test) n'utilise pas plus que le tien (bonjour) des caractères accentués ou même seulement disposés différemment sur un clavier US. Logiquement, donc ça ne devrait pas tenir à ça.

Ceci dit, la possibilité de déverrouiller le module macro, franchement, ça me paraît tout de même bien secondaire. Soit ton client mérite ta confiance, a de bonnes raisons d'aller farfouiller dans la macro et tu peux envoyer le classeur sans verrouiller le module, soit tu as de bonnes raisons de verrouiller le module et ton correspondant n'a aucun besoin de le déverrouiller. Non ?
 
Merci pour tes réponses.

Je suis d'accord pour considérer que la sauvegarde de l'éditeur VBA est secondaire.
Toutefois et je constate que nous nous rejoignons sur notre besoin de compréhension.
Il n'y a aucune raison que mssft produise un produit qui bug !

Donc le premier qui trouve le signale et gagne un ... café virtuel
Bonne journée à toi.
Goufra
 
Il n'y a aucune raison que mssft produise un produit qui bug !
:D Des raisons, il n'y en a peut-être pas (quoique…) mais pour ce qui est de produire des produits avec des bugs, Microsoft en a déjà un certain nombre à son compteur (de même que tout autre éditeur de logiciels, il faut bien le dire).
 
Je crois savoir pourquoi ma sauvegarde plante sur le mac de mon correspondant.

Il travaille ses fichiers excel sur un disque dur externe ...

Mon code était :
Sub pdfsauv()
Dim x As String
oter
Sheets("volet2").Select
x = [v2ndf] & ".XLSM"
ActiveWorkbook.SaveCopyAs Filename:=x
repro
End Sub
Nota : [v2ndf] est une variable

Sur excel si je veux sauvegarder dans un répertoire spécifique par exemple
d:\doc excel\archi_factu
J'écris:
Sub pdfsauv()
Dim x As String
oter
Sheets("volet2").Select
x = "d:\doc Excel\archi_factu" & [v2ndf] & ".XLSM"
ActiveWorkbook.SaveCopyAs Filename:=x
repro
End Sub


Peux-tu me transcrire x = "d:\doc Excel\archi_factu" & [v2ndf] & ".XLSM" en visual basic mac office 2011

je n'ai rien trouvé
D'avance merci pour ta compréhension.
 
Peux-tu me transcrire x = "d:\doc Excel\archi_factu" & [v2ndf] & ".XLSM" en visual basic mac office 2011
Ah, oui, effectivement, si tu mets "en dur" (même en variable) un chemin d'accès en syntaxe Windows, ça ne peut pas fonctionner. ;) En se basant sur les indications que tu donnes, ce serait plutôt quelque chose comme :

x = "Mon Disque Externe:doc Excel:archi_factu" & [v2ndf] & ".XLSM"


Pour les situations où tu veux faire des boucles compatibles Windows et Mac, afin d'avoir les chemins d'accès correctement paramétrés, plutôt que l'anti-slash tu peux utiliser la constante Application.PathSeparator (qui vaudra "anti-slash" sous Windows et "deux points" sous Mac OS X) et plus généralement, recourir à la compilation conditionnelle pour les parties nécessitant des instructions différentes.
 
Mon cher bernard je te remercie.
Je n'ai plus qu'à attendre que mon correspondant rentre de vacances !


Ceci étant si j'ai bien compris, dans "finder" de son mac il touve :

bidule (le disque externe)
un dossier : doc_excel
un sous-dossier : archi_factu

Ne connaissant pas l'architecture de mac peut-être vaut-il mieux ne pas créer de sous-dossier.
bidule (le disque externe)
un dossier : archi_factu

Je suis navré de te déranger mais je n'arrive pas à trouver un utilisateur de mac office 2011 dans mon entourage.
Bonne soirée
Bien cordialement
JC
 
si j'ai bien compris, dans "finder" de son mac il touve :

bidule (le disque externe)
un dossier : doc_excel
un sous-dossier : archi_factu
OK. Donc le chemin complet devrait être : "bidule:doc_excel:archi_factu:Fichier.xls". Dans ton message, comme tu ne mets pas de séparateur entre archi_factu et [v2ndf] je pensais que archi_factu était une partie du nom du fichier.

Peu importe le nombre de sous-dossiers emboîtés, il faut simplement mettre des deux points là où tu mettrais des anti-slashes sous Windows (autrement dit, ce que fait Application.PathSeparator).
 
Ne connaissant pas l'architecture de mac peut-être vaut-il mieux ne pas créer de sous-dossier.

Là, je pense que tu prends le problème par le mauvais bout. En fait, ton problème, ce ne sont pas les dossiers/sous dossiers, qui, si dans ton code VBA, tu remplaces les "\" par des ":" ne poseront aucune difficulté, mais le problème c'est bien le principe de base de Mac OS (et pas que X, avant déjà c'était pareil), qui exclue de retrouver d'un Mac à l'autre (sauf hasard) le même chemin, car sur nos Mac, nous n'avons pas de disque C:, D:, etc., chacun donne à ses disques le nom qu'il veut, et s'il est vrai qu'on trouve beaucoup de disques internes nommés "Mac HD", ça n'est quand même pas une règle générale.

Donc, tant que tu travailles sur le disque "de démarrage", tu as l'option "startup disk" (encore que si elle fonctionne en AppleScript, je n'ai jamais vérifié en VBA), mais si tu t'aventures sur les disques externes, alors là, ça va devenir coton.
 
Merci Aliboron pour ta patience ainsi qu'à toi Pascal 77 pour ton aide.

Je pense avoir compris et avoir fait le tour du problème.
bonne journée à vous deux
Goufra


Navré je n'arrive pas trouver "Problème résolu"