# VBA Excel sous Mac



## thais781 (28 Juillet 2010)

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


----------



## Anonyme (29 Juillet 2010)

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

```
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*


----------

