VBA - Changement de classeur

Bonjours à tous,

J'ai deux classeurs,le premier est mon principal avec lequel je travaille (on l’appellera Classeur1) et le second qui est amené à changer régulièrement (Classeur X).

Dans le classeur 1 j'aimerais lancer une macro qui va copier des données dans l'autre classeur, pour les coller dans le premier.

Cependant comme le Classeur X n'est jamais le même, ni de nom, ni de chemin je ne sais pas comment l'indiquer.

La seule chose qui me viennent à l'esprit c'est que ce sont les 2 seuls classeurs d'ouvert quand je travaille.

Est il possible de réaliser comme un " Alt +Tab " dans une macro ?

Merci d'avance pour votre aide, ou du moins de votre lecture .

Tham

Bonjour,

Essaie ce code :

Sub Test()
    Dim wbX As Workbook
    Select Case Application.Workbooks.Count
        Case 2
            For Each wbX In Application.Workbooks
                If wbX.Name <> ThisWorkbook.Name Then Exit For
            Next wbX
        Case 1
            MsgBox "Le classeur recherché n'est pas ouvert.", vbInformation, "Classeur manquant"
            Exit Sub
        Case Else
            MsgBox "Plus de deux classeurs sont ouverts.", vbInformation, "Classeur non identifié"
            Exit Sub
    End Select
    MsgBox wbX.Name
End Sub

Cette macro teste le nombre de classeurs ouverts, s'il n'y en a qu'un ou plus de 2, elle le signale et s'interrompt. S'il y en a 2, elle teste lequel a un autre nom que le sien...

Le dernier MsgBox est juste destiné à tester le fonctionnement de la macro (à supprimer pour la suite) : à l'issue de ce code, tu disposes du classeur recherché affecté à une variable objet Workbook (wbX) que tu peux continuer à utiliser dans la suite de ton code pour désigner le classeur X.

NB- Les classeurs doivent être ouverts dans la même instance d'Excel, sinon ils ne se verraient pas...

Cordialement.

Bonjour,

J'essaie ta solution tout de suite !

Merci beaucoup de m'avoir répondu

Cela fonctionne parfaitement !

Encore Merci

Rechercher des sujets similaires à "vba changement classeur"