Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2011, 13h09   #1
Invité de passage
 
Femme
Inscription : août 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 1
Points : 0
Points : 0
Par défaut VBA non compatible sous MAC

Bonjour,

Je viens de créer une macro qui permet de déplacer et copier certaines feuilles d'un classeur excel vers un autre. (sur un PC sous exel 97)
Seulement lorsque mon collègue veut l'exécuter sous MAC ça ne fonctionne pas.
Quelqu'un peut-il me donner les mofications à apporter pour y remédier parce que je suis dessus depuis plus d'une semaine mais en vain (et je n'ai pas de mac pour tester)
Merci beaucoup

Code :
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
Sub sauve_resultat()
 
Set WB_macro = ActiveWorkbook.ActiveSheet
CurPath = ActiveWorkbook.Path
Set Wb_bc1 = ActiveWorkbook.Sheets("Bon commande 1")
Set Wb_bc2 = ActiveWorkbook.Sheets("Bon commande 2")
Set Wb_bc3 = ActiveWorkbook.Sheets("Bon commande 3")
Set Wb_bc4 = ActiveWorkbook.Sheets("Bon commande 4")
Set Wb_bc5 = ActiveWorkbook.Sheets("Bon commande 5")
 
'Copie de la premiere feuille, on a au moins une livraison
Set WB_sauve = Workbooks.Add()
Wb_bc1.Copy Before:=WB_sauve.Sheets(1)
'On retire les alertes avant de supprimer les feuilles en trop
Application.DisplayAlerts = False
WB_sauve.Sheets(4).Delete
WB_sauve.Sheets(3).Delete
WB_sauve.Sheets(2).Delete
'On revient au fonctionnement normal
Application.DisplayAlerts = True
 
If Not (WB_macro.Cells(11, 11) = "") Then
 Wb_bc2.Copy After:=WB_sauve.Sheets(WB_sauve.Sheets().Count)
End If
 
If Not (WB_macro.Cells(11, 13) = "") Then
 Wb_bc3.Copy After:=WB_sauve.Sheets(WB_sauve.Sheets().Count)
End If
 
If Not (WB_macro.Cells(11, 15) = "") Then
 Wb_bc4.Copy After:=WB_sauve.Sheets(WB_sauve.Sheets().Count)
End If
 
If Not (WB_macro.Cells(11, 17) = "") Then
 Wb_bc5.Copy After:=WB_sauve.Sheets(WB_sauve.Sheets().Count)
End If
 
'Tous les bons de commandes ont été copiés, on va protéger les feuilles
WB_sauve.Protect "1234"
 
nom_fichier = CurPath & "\HIV_" & WB_macro.Cells(4, 5).Value & "_" & WB_macro.Cells(5, 5).Value
WB_sauve.SaveAs Filename:=nom_fichier
 
End Sub
tessang est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 13h16   #2
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 398
Points : 14 398
Envoyer un message via Skype™ à Pierre Fauconnier
Salut.

J'ai, une seule fois dans ma vie, dû coder du VBA sur MAC. Une véritable galère...

D'une façon générale, et sans avoir de mac pour tester, tout ce qui touche au système (et donc la gestion des fichiers, dir(), path, ... fenêtre pour ouvrir, enregistrer, etc...) va poser problème...

Sans mac pour tester en pas à pas, c'est peine perdue, à mon avis.
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 15h59   #3
Candidat au titre de Membre du Club
 
Excusez mon français, ce n'est pas ma langue de base
Inscription : août 2011
Messages : 32
Détails du profil
Informations personnelles :
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Excusez mon français, ce n'est pas ma langue de base

Informations forums :
Inscription : août 2011
Messages : 32
Points : 12
Points : 12
Salut,

J'utilise MAC. Par défaut, la version était Office 2008 mais cette version n'est pas compatible avec VB.
J'ai installé la version Office 2001. Cette version m'a posé pas mal de problème avec le syntaxe.
Depuis 2 jours, j'ai la version Office 2011 pour MAC et ça va.
En général, très souvent il faut remplacer ";" qu'on utilise pour PC par ",". Autrement, tu auras des problèmes de compilation.

J'espère que ça pourra t'aider un peu.
Amicalement.
Gogia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2011, 04h03   #4
Expert Confirmé
 
Homme Philippe
ex Observeur CGG / Analyste prog.
Inscription : juin 2006
Messages : 1 706
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : ex Observeur CGG / Analyste prog.

Informations forums :
Inscription : juin 2006
Messages : 1 706
Points : 3 627
Points : 3 627
Salut, malgré tout voir http://www.developpez.net/forums/d22...teurs-vba-mac/ http://dj.joss.free.fr/mac.htm entre autres.
Mmais pour avoir développé des macros sur PC qui au final tournent sur Mac : hors l'emploi d'un Mac pour valider le code point de salut
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )
Balisez votre code après l'avoir indenté sous Excel via Smart Indenter
Autre utilitaire : MZ Tools 3.0 VBA

Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2
kiki29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2011, 13h45   #5
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 668
Points : 7 668
Bonjour,

Le \ n'est pas le séparateur de chemin sur Mac.

Pour rendre la macro compatible avec les 2 environnements, tu peux écrire:
Code :
nom_fichier = CurPath & PathSeparator & "HIV_" & WB_macro.Cells(4, 5).Value & "_" & WB_macro.Cells(5, 5).Value
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h07.


 
 
 
 
Partenaires

Hébergement Web