[Résolu] Vérification de l'existence d'un fichier Excel 2011 pour Macintosh

Gilles52300

XLDnaute Junior
Bonjour messieurs,

je planche sur un problème traité x fois mais dont je n'arrive pas à me sortir.
je cherche à vérifier l'existence d'un fichier afin d'en déduire le nom du prochain fichier à enregistrer.

actuellement j'en suis là, et à chaque fois il ne reconnait pas l'existence du fichier.

Code:
            Xdate = TextBox1
            x = 1
            Dte = Format(Xdate, "yymmdd")
            Dte = Dte & "-" & x
Fichier1 = XChemin & Application.PathSeparator & Dte & ".xls"
'MsgBox Fichier1
Do While Dir(Fichier1, vbDirectory) <> ""
        If Dir(Fichier1, vbDirectory) = "" Then
            'creation du N° de devis
            Range("B8") = Dte
            With Range("B8")
                .HorizontalAlignment = xlLeft
            End With
GoTo 1
        Else
            x = x + 1
        End If
        Loop
1:

Si vous avez une idée ou bien une réponse, je vous remercie d'avance.
 
Dernière édition:

Gilles52300

XLDnaute Junior
Re : Vérification de l'existence d'un fichier

Solution pour Mac

J'ai enfin trouvé la solution qu'il me fallait.

Il faut connaitre le chemin d'accès du fichier.
Elle se combine en deux phases.

cette fonction se met dans un module
Code:
Function FileOrFolderExistsOnMac(FileOrFolderstr As String) As Boolean
'Ron de Bruin : 26-June-2015
'Function to test whether a file or folder exist on a Mac in office 2011 and up
'Uses AppleScript to avoid the problem with long names in Office 2011,
'limit is max 32 characters including the extension in 2011.
    Dim ScriptToCheckFileFolder As String
    Dim TestStr As String

    If Val(Application.Version) < 15 Then
        ScriptToCheckFileFolder = "tell application " & Chr(34) & "System Events" & Chr(34) & _
         "to return exists disk item (" & Chr(34) & FileOrFolderstr & Chr(34) & " as string)"
        FileOrFolderExistsOnMac = MacScript(ScriptToCheckFileFolder)
    Else
        On Error Resume Next
        TestStr = Dir(FileOrFolderstr, vbDirectory)
        On Error GoTo 0
        If Not TestStr = vbNullString Then FileOrFolderExistsOnMac = True
    End If
End Function

Et voici la seconde partie que l'on colle dans sa macro à l'endroit souhaité
Code:
        'Note: This macro uses the FileOrFolderExistsOnMac function.
        'Test if a file with the name FileName.xls is on your desktop
        If FileOrFolderExistsOnMac(Chemin directeur & Nom du fichier.xls) = False Then
        msgbox("Le fichier n'existe pas")
        Else
           msgbox("le fichier existe")
        End If


on peut remplacer "False" par "True" suivant ce que l'on veut faire.
cela fonctionne pour les fichiers .xls comme tout autre fichier.
 

Statistiques des forums

Discussions
312 488
Messages
2 088 861
Membres
103 979
dernier inscrit
imed