VBA Excel sous Mac

thais781

Membre confirmé
17 Février 2010
33
2
40
Bonjour,

J'espère que je suis au bon endroit, si ce n'est pas le cas, n'hésitez pas à me dire ou il faut que je fasse mon poste.


J'utilisais des macros excel sous windows et je viens de passer sous mac.
Et je n'arrive pas à convertir toute mes macros, pourriez-vous m'aider ?

En résumé,
- j'ai un fichier excel avec la macro
- je cherche à lister les fichiers word d'un répertoire.
- ouvrir les fichiers word 1 a 1
- récupérer une valeur dedans et fermer le fichier

Pour la partie Chemin, je crois avoir trouver une solution, le pb est pour la fonction DIR() qui ne fait pas son boulot sur mac (ou qui n'existe peut etre pas tout simplement)

Chemin = "...:Base:"
MesFichiers = Dir(Chemin & "*.doc")

Set FichierWord = CreateObject("Word.Application")
FichierWord.Visible = True
FichierWord.DisplayAlerts = False

Do While MesFichiers <> ""
.............. etc ......


Est ce que quelqu'un sait comment faire cela sous mac ?
Merci d'avance pour votre aide.

Thais
 
Bonjour,

le wildcard * ne fonctionne pas dans la fonction dir() sur Mac,
on peut le remplacer par MaciD(le code type du fichier) --> W8BN pour un .doc
Bloc de code:
Dim Fichier As String, mWord As Object

On Error Resume Next
Set mWord = GetObject(, "Word.Application")
If Err Then
Set mWord = CreateObject("Word.Application")
End If

mWord.DisplayAlerts = False
ChDir "Disque1:Users:jack:Documents:" ' le chemin au complet du dossier

'Fichier = Dir("", vbNormal)
Fichier = Dir("", MacID("W8BN"))
Do While Fichier <> ""
   mWord.Documents.Open Filename:=CurDir + ":" + Fichier
   '.............. etc ......
    Fichier = Dir    ' prochain document word
Loop


Mais si tu es sur Snow Leopard (OS X 10.6) :
-- le code type n'existe plus, je ne peux pas tester, je suis sur OS X 10.5
Si ça ne fonctionne plus, la solution est de remplacer MacID("W8BN") par vbNormal
et de tester dans la boucle que le nom du fichier se termine par .doc