compatibilité macro excel 2007 (PC) sous Mac possible?

lotinus

XLDnaute Nouveau
bonjour,

je travaille sous MAC OSX 10.5.8, Office X
je travaille avec un étudiant qui est lui sous windows 7 edition familial premium SP1, Office 2007 SP3.

Cet étudiant a réalisé un tableur contenant des macros que je souhaiterai pouvoir utiliser sous mac.
Or, après plusieurs essais, sur différentes versions d'Office sous mac, impossible d’exécuter les macros.
J'ai fait des essais sous Office 2008 mac, sous Office 2007 PC sp2 via crossover (donc sous mac), sous Office 2011 v14.1 mac.
A chaque fois, échec.
Je lui ai demandé d'enregistré son fichier sous différent format : excel 2003 (.xls), modèle excel macro (.xltm), en plus de la version native excel 2007 (.xlsm)
Avec Office 2007 PC, pas d'erreur à l'ouverture du fichier, mais les macros ne sont pas opérantes et l'ouverture de VBA lance cette erreur.
Image 5.png

Avec Office 2011, erreur à l'ouverture du fichier, tentative de réparation, ouverture du fichier, macros vides.
Image 6.png Image 7.png et
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>Réparer le résultat vers logiciel mat VERSION FINALE 02278.xml</logFileName><summary>Des erreurs ont été détectées dans le fichier «*Macintosh HD:Users:laurent:Desktop:logiciel mat VERSION FINALE.xlsm*»</summary><removedParts summary="Liste des parties supprimées ci-dessous :"><removedPart>Partie supprimée: /xl/vbaProject.bin partie.  (Visual Basic pour Applications (VBA))</removedPart></removedParts></recoveryLog>

Y-a-t-il un espoir de pouvoir exécuter ce fichier sur Mac selon vous?
Le fichier étant supérieur à la limite admissible ici, vous le trouverez sur le serveur de free, mot de passe toto (pas de login)
Free - Envoyez vos documents
 

Pièces jointes

  • Image 7.png
    Image 7.png
    28.6 KB · Affichages: 137
  • Image 7.png
    Image 7.png
    28.6 KB · Affichages: 135

lotinus

XLDnaute Nouveau
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

arff, il faut un Identifiant Windows Live ID pour poser une question sur cette plateforme. C'est trop me demander éthiquement parlant, pour moi, utilisateur d'OpenOffice et de Linux à titre privé.
Dommage, j'abandonne.
 

Misange

XLDnaute Barbatruc
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

Il t'a bien fallu t'enregistrer ici pour poser ta question, ce n'est pas différent. Tu peux obtenir ton windows live ID avec n'importe quel email. Microsoft = grand satan, linux et open office = nirvana me parait quand même une vision assez manichéenne des choses mais chacun sa façon de voir.
 

lotinus

XLDnaute Nouveau
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

J'ai finalement joué de la fonction import/export de la 100aine de Userforms depuis excel 2007 PC, vers excel 2011 Mac. (D'ailleurs si qqun à une solution pour importer/exporter un groupe de Userforms plutôt qu'une par une je suis preneur...)
Pour les boutons activeX de la 2007, j'ai utilisé l'équivalent "bouton" dans la version 2011.
Après quelques corrections sur les caractères accentuées mal "traduits", il semble me rester deux bugs,

Le premier lié encore à la non présence d'activeX sous MAC :
les listes déroulantes.
Ce que j'ai compris, c'est que :
- sous 2007, cela s'appelle Rowsource
- sous 2011, cela s'apelle Listrow

Image 3.jpg
et voilà ce qui arrive si j'essaie de remplacer la valeur 8 par le nom de la liste
Image 1.jpg

Ce que je n'ai pas compris :
- comment ca marche ;-)
- si c'est impossible
- si c'est juste que je ne sais pas ou chercher
- je n'ai pas réussi à ajouter des "contrôles de formulaire" dans une Userform de la liste
- je n'ai pas trouvé l'équivalent de la liste déroulante dans la boîte à outils.


Le deuxième lié à l'affichage des boites de dialogue/ userforms. Elles sont beaucoup plus petites sous Excel 2011 qu'elles ne le sont sous 2007. Je peux les modifier manuellement (facteur de zoom, largeur et hauteur de la fenêtre) mais compte tenu du nombre de userforms, n'y a t il pas un moyen d'automatiser la procédure ou de corriger le bug à sa source?
Image 2.png
 

Pièces jointes

  • Image 3.jpg
    Image 3.jpg
    72 KB · Affichages: 214
  • Image 3.jpg
    Image 3.jpg
    72 KB · Affichages: 229
  • Image 1.jpg
    Image 1.jpg
    79.1 KB · Affichages: 134
  • Image 1.jpg
    Image 1.jpg
    79.1 KB · Affichages: 129
  • Image 2.png
    Image 2.png
    73.3 KB · Affichages: 128
  • Image 2.png
    Image 2.png
    73.3 KB · Affichages: 137
Dernière édition:

Misange

XLDnaute Barbatruc
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

C'est une différence entre le VBA du mac et du PC : on ne peut pas utliser la propriété rowsource pour remplir une liste sur excel mac il suffit d'employer : ListBox1.List = Range("Toto").Value
Ce lien n'existe plus
 

lotinus

XLDnaute Nouveau
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

Merci Misange,

l'emploi de ListBox1.List = Range("Toto").Value se fait à quel endroit?
- dans le code de la combobox?

J'ai par exemple qqch qui ressemble à celà, en partie :
Code:
Private Sub ComboBox3_Change()
'calcul pour le chauffage avec les apports solaires'
With Worksheets("Calculs")
If (ComboBox3.Value() = "faible") Then
.Cells(4, 93) = "7486,5"
End If
If (ComboBox3.Value() = "moyen") Then
.Cells(4, 93) = "4679,1"
End If
If (ComboBox3.Value() = "important") Then
.Cells(4, 93) = "2260,7"
End If

End With
Unload Me
UserForm7.Show
End Sub

Merci pour ton lien, j'y ai vu également le problème d'affichage que j'ai édité pendant que tu rédigeais ta réponse. Une solution?
 

lotinus

XLDnaute Nouveau
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

Hello,

j'ai fait apparaître la boite à outils, c'est mieux...
J'ai donc créer une "listbox" et ai tenté plusieurs lignes de code. Mais à chaque fois, je n'ai pas de menu déroulant qui s'affiche. J'ai également essayé avec une "combobox". Là j'ai bien la flèche d'un menu mais qui lui aussi est vide.

J'ai essayé :
- sans préciser la feuille où aller chercher les données
- avec ListBox1.List = Range("K2;K4").Value
- avec ListBox1.List = Range("K2").Value
- avec ListBox1.List = Range("toto")
- avec ListBox1.List = Range("ligne10").Value (ligne10 étant le nom d'une plage de cellules)

idem avec la combobox. La personne avec qui je travaille qui est sous PC, ne s'y retrouve pas sous mac.
Image 2.jpg
 

Pièces jointes

  • Image 2.jpg
    Image 2.jpg
    49.5 KB · Affichages: 208
  • Image 2.jpg
    Image 2.jpg
    49.5 KB · Affichages: 208

Misange

XLDnaute Barbatruc
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

C'est au moment ou tu initialises ton userform : sur PC classiquement tu vas utiliser un rowsource pour indiquer où est la plage de données à mettre dans ton contrôle de liste (tu remplis la liste). Sur mac au lieu d'utiliser row source tu utilises ce que je t'ai indiqué. Je n'ai PAS de mac, je ne peux donc rien tester ni aller plus loin.
il faut que tu ajustes bien sur le nom de ta listbox et celui de ta plage de données quand j'écris
ListBox1.List = Range("Toto").Value
Attention bien sur, si ta liste s'appelle pas listbox1 ca risque pas de marcher. Sortie de cela je ne peux guère en faire plus sans pouvoir tester.
 

lotinus

XLDnaute Nouveau
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

On a fini par résoudre le problème en bricolant :
en ajoutant un bouton,
Code:
Private Sub CommandButton4_Click()
Dim MyArray(0, 2) As String

   MyArray(0, 0) = Worksheets("base de donnée").Range("K2").Value
   MyArray(0, 1) = Worksheets("base de donnée").Range("K3").Value
   MyArray(0, 2) = Worksheets("base de donnée").Range("K4").Value

   ComboBox5.Column() = MyArray
ComboBox5.Visible = True
End Sub

qui envoie 3 lignes à une combobox
Code:
Private Sub ComboBox5_Change()
With Worksheets("Calculs")
If (ComboBox5.Value() = "faible") Then
.Cells(4, 93) = "7486,5"
End If
If (ComboBox5.Value() = "moyen") Then
.Cells(4, 93) = "4679,1"
End If
If (ComboBox5.Value() = "important") Then
.Cells(4, 93) = "2260,7"
End If
End With
Unload Me
UserForm9.Show
End Sub
Sans le premier bouton, pas moyen de voir apparaitre les lignes dans le menu déroulant de la combobox!!

Me reste 2 cas à régler :
- Celui de la mise en forme des userforms (cf problème d'affichage identifié Ce lien n'existe plus
Y a t il un moyen d'automatiser pour rendre toutes les userforms visibles (plus d'une centaine)?

- Celui des images. Sur PC mon collègue à utiliser un bouton ACTIVEX pour insérer des images (possibilité de leur attribuer une valeur pour qu'elles s'affichent ou non selon les cas à travers leur fenêtre propriété et un code)
Code:
Private Sub CommandButton3_Click()
Unload Me
UserForm6.Show
ActiveSheet.Unprotect
With Worksheets("Résultats")
.Cells(2, 3) = ("Maison de maÓtre")
.Cells(6, 6) = ("120")
.Cells(8, 6) = ("15225,37")
.Cells(9, 6) = ("1952,14")
End With
Worksheets("Résultats").Image3.Visible = True
Worksheets("Résultats").Image4.Visible = False
(12 images en tout)
End Sub

Et évidemment sous Mac, rien de tel.
 

Misange

XLDnaute Barbatruc
Re : compatibilité macro excel 2007 (PC) sous Mac possible?

Désolée mais sans avoir de mac pour tester, je ne vois pas comment t'aider. Le forum answers office mac de microsoft (en anglais) serait plus adapté et ty y recevrais plus d'aide je pense.
 

Discussions similaires

Haut Bas