Page 1 sur 1

Ouvrir un Classeur depuis un autre par macro

Posté : 16 janvier 2019, 19:16
par KTM
Salut chers tous
J'ai trois classeurs A.Xlsm ; B.Xlsm et C.Xlsm contenus dans le même dossier
J'aimerais par macros Ouvrir depuis le classeur actif l'un des 2 Autres ou l'activer s'il est déjà ouvert

Par exemple le code suivant ouvre le classeur B :

Workbooks.Open Filename:=ThisWorkbook.Path & "\B.xlsm"


Je voudrais completer mon code de telle sorte que si le classeur B est deja ouvert qu'il soit activé
Merci et a plus

Re: Ouvrir un Classeur depuis un autre par macro

Posté : 17 janvier 2019, 06:33
par i20100
Bonjour,

à tester,
Sub test()  'auteur leroissejp
Dim fichier As String
fichier = "B.Xlsm"
    If EstDansCollection(Workbooks, fichier) = True Then
        Workbooks(fichier).Activate
    Else
        Workbooks.Open (ThisWorkbook.Path & "\" & fichier)
    End If
End Sub

Private Function EstDansCollection(Coln As Object, Item As String) As Boolean
Dim obj As Object
On Error Resume Next
Set obj = Coln(Item)
EstDansCollection = Not obj Is Nothing
End Function

Re: Ouvrir un Classeur depuis un autre par macro

Posté : 17 janvier 2019, 07:57
par KTM
Merci i20100
C'est super.
Je voudrais qu'on ajoute un autre détail a cette macro : Au cas ou le fichier n'existe pas dans le dossier on obtient un message et rien ne se produit. C'est possible?

Re: Ouvrir un Classeur depuis un autre par macro

Posté : 17 janvier 2019, 14:48
par i20100
re,

voici la modification,
Sub test()
Dim fichier As String
fichier = "B.Xlsm"
    If EstDansCollection(Workbooks, fichier) = True Then
        Workbooks(fichier).Activate
    Else
        On Error Resume Next
        Workbooks.Open (ThisWorkbook.Path & "\" & fichier)
        If Err.Number <> 0 Then Err.Clear: MsgBox "Fichier introuvable"
    End If
End Sub

Re: Ouvrir un Classeur depuis un autre par macro

Posté : 18 janvier 2019, 18:55
par KTM
Merci Chef c'est super!

Re: Ouvrir un Classeur depuis un autre par macro

Posté : 18 janvier 2019, 19:04
par i20100
Merci pour ce retour, au plaisir!
si le problème est résolu, s.v.p. clôturer le fil, par un clic sur le bouton
résolu.png
résolu.png (8.77 Kio) Vu 66 fois
Merci!