Boite de dialogue Ouvrir un fichier - GetOpenFilename

NVerder

XLDnaute Nouveau
Bonjour à tous,

Je travaille sous excel 2013.
J'ai développé une macro destinée à ouvrir un fichier excel nommé "listes.xlsm "
Le code se trouve ci-après, je l'ai adapté d'après des exemples trouvés sur internet.
je souhaite l'ouverture de mon fichier sans intervention de l'utilisateur, or, la macro m'affiche systématiquement la boite de dialogue ouvrir un fichier.
Comment faire pour éviter son affichage ?

Par ailleurs si le fichier "listes.xlsm" est déjà ouvert la macro ne doit pas fonctionner. Là aussi je ne sais comment procéder.

Code:
Nom_fichier = Application.GetOpenFilename("Fichiers Excel (*.xlsm), *.xlsm")
If Nom_fichier <> False Then
    Set wbMyWB = Workbooks.Open("D:\LBT\annexes\listes.xlsm")
    wbMyWB.Activate
End If

D'avance merci pour votre aide.

Nicolas
 
G

Guest

Guest
Re : Boite de dialogue Ouvrir un fichier - GetOpenFilename

Bonjour,


Avec une fonction qui cherchera si le classeur est déjà ouvert et s'il ne l'est pas tentera de l'ouvrir:

Code:
Function GetWorkBook(Chemin As String, nomfichier As String) As Workbook
    On Error Resume Next
    Set GetWorkBook = Workbooks(nomfichier)
    If Err <> 0 Then
        If Right(Trim(Chemin), 1) <> "\" Then Chemin = Chemin & "\"
        Set GetWorkBook = Workbooks.Open(Chemin & nomfichier)
    End If
    On Error GoTo 0
End Function

'Utilisation de la fonction
Sub LeProgramme()
    Dim wk As Workbook
    Set wk = GetWorkBook("D:\LBT\annexes", "listes.xlsm")
    If Not wk Is Nothing Then
        'le classeur a été trouvé, je continue le programme
    Else
        'le classeur n'a pas été trouvé:
        ' soit j'averti l'utilisateur
        ' soit je ne fais rien
    End If
End Sub

A+
 

NVerder

XLDnaute Nouveau
Re : Boite de dialogue Ouvrir un fichier - GetOpenFilename

Merci Hasco pour ta réponse.

J'ai adapté ton code à mon projet. Ca fonctionne impec.
Par contre lorsque je veux fermer mon fichier
Code:
Workbooks("listes.xlsm").Close
je reçois systématiquement la boite de dialogue me demandant si je souhaite enregistrer mes modifications.

Or, je ne veux jamais enregistrer, j'aimerais donc ne pas voir apparaitre cette boite de dialogue.

Peux-tu m'expliquer comment je dois faire ?

D'avance merci

Nicolas
 

Discussions similaires