Bonjour à tous !
J'ai créé une petite macro pour ouvrir une map Visio en local. Cette macro utilise la donnée de la cellule A5 pour ouvrir le fichier dans le répertoire : C:\Data\Map_X.vsdx
Par exemple, je filtre ma liste "Map" pour n'afficher que Map_3 et j'aimerais que ma macro ouvre le fichier dans une base de donnée dédiée : C:\Data\Map_3.vsdx. Voila à quoi cela ressemble :
Sub Macro2test()
valeur = Range("A5").Value
OuvrirFichier ("C:\Data\" & valeur & ".vsdx")
End Sub
Avec :
Public Function OuvrirFichier(MonFichier As String)
On Error GoTo OuvertureFichierErreur
'vérifie si le fichier existe
If Len(Dir(MonFichier)) = 0 Then
OuvrirFichier = False
Exit Function
Else
End If
'ouvre le fichier dans son application associée
Dim MonApplication As Object
Set MonApplication = CreateObject("Shell.Application")
MonApplication.Open (MonFichier)
OuvrirFichier = True
Set MonApplication = Nothing
Exit Function
OuvertureFichierErreur:
Set MonApplication = Nothing
OuvrirFichier = False
End Function
Pour l'instant, cette macro prends en compte la valeur de la cellule A5 alors que lorsque je filtre pour n'afficher que Map_3, la cellule correspondante est la cellule A7 (et non A5). Donc aujourd'hui, ma macro ne peut qu'ouvre Map_1 (Valeur de la case A5).
Au lieu de prendre en compte la valeur de la cellule A5, j'aimerais prendre en compte la valeur de la case dans la colonne A à la 5ème ligne. Le problème dans la macro est en rouge. Est-ce possible ?
J'espère avoir été clair !
Je vous remercie !