(Challenge pour les grands)Recherche et ouverture d'un fichier dans un dossier

grospénis

XLDnaute Nouveau
Bonjour à tous,

Voici un challenge pour les grands.
J'ai créé une macro dans Excel 2003 qui ouvre un fichier pdf.
Voici la macro que j'ai fait
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target <> "" And Target.Column = 1 Or 2 Or 3 Or 7 Or 8 Then Test Target.Value
End Sub
Sub Test(MonFichier)
MonDir = "K:\Solution\Finale\"
Shell "C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe """ & MonDir & MonFichier & """.pdf"
End Sub

Or mes fichiers pdf peuvent se retrouvés dans deux dossiers différents (finale et conditionnelle).
Je ne sais pas comment faire pour que la macro aille voir dans l'un et s'il ne le trouve pas qu'elle ailles dans l'autre. Pouvez-vous m'aider?
Merci d'avance et au plaisir d'avoir de vos nouvelles
 

Bigfish

XLDnaute Occasionnel
Re : (Challenge pour les grands)Recherche et ouverture d'un fichier dans un dossier

Salut,

je te propose une solution qui te permettra d'ajouter autant de repertoire que tu veux. Il faudrat juste ajouter les nouveaux repertoires a la liste

Code:
Sub Test(ByVal MonFichier As String)
    Dim MonRepertoire As String, MonDir As String
    MonRepertoire = Array("finale", "conditionelle")
    MonFichier = MonFichier & ".pdf"
    For i = 1 To UBound(MonRepertoire) + 1
        MonDir = "K:\Solution\" & MonRepertoire(i) & "\"
        If Not Dir(MonDir & MonFichier) = "" Then
            Shell "C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe """ & MonDir & MonFichier & """.pdf"
            Exit For
        ElseIf i = UBound(MonRepertoire) + 1 Then
            MsgBox "Aucun fichier " & MonFichier & " trouvé dans les repertoires specifiés !", vbExclamation
        End If
    Next
End Sub

On pourrait aussi utiliser une solution qui recherche le fichier dans le repertoire solution.

A+:)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 870
Membres
103 980
dernier inscrit
grandmasterflash38