Bonjour à toutes et à tous de bon dimanche matin lol
Je bute sur un code que je ne parviens par à écrire malgré des tentatives et recherches.
Alors, une fois encore, je me tourne vers nos chers ténors....
Voici mon besoin :
J'ai plusieurs classeurs ouverts : classeur A - classeur B - classeur C
Mon classeur actif est le A
Je voudrais activer le B ou le C
Je n'y arrive pas Grrr !!!
Auriez-vous le bon codes ?
Grand mercie à toutes et à tous...
Et Bon dimanche,
Bonjour JM
Merci pour ton retour.
Pour moi pas facile, j'ai pourtant beaucoup cherché...
J'ai plusieurs classeurs qui peuvent être ouverts :
- Windows("isitelImmobRdV ImenNF2.xlsm").Activate
- Windows("isitelImmobRdV SondaNF2.xlsm").Activate
- Windows("isitelImmobRdV StephanieNF2.xlsm").Activate
Ne faut-il pas tester si les fichiers sont ouverts ?
Sub Liste_Classeurs_ouverts()
Dim tmp$, WBK As Workbook
For Each WBK In Application.Workbooks
tmp = tmp & WBK.Name & vbCr
Next
MsgBox tmp, vbInformation, "Liste des classeurs ouverts"
End Sub
Re-JM
En fait, je l'ai eu avec On Error Resume Next
Windows("isitelImmobRdV ImenNF2.xlsm").Activate
Windows("isitelImmobRdV SondaNF2.xlsm").Activate
Windows("isitelImmobRdV StephanieNF2.xlsm").Activate
Donc pour se compliquer la vie (*)
(alors que Affichage/Changer de fenêtre fait la chose facilement)
Code:
Sub Choisir_dans_Classeurs_ouverts()
Dim tmp$, Activation_W$, WBK As Workbook
For Each WBK In Application.Workbooks
tmp = tmp & WBK.Name & vbCr
Next
Activation_W = _
Application.InputBox("Choisir un classeur en saisissant son nom:" _
& vbCr & tmp, "Activation", "", 2)
On Error Resume Next
Workbooks(Activation_W).Activate
End Sub
Donc pour se compliquer la vie (*)
(alors que Affichage/Changer de fenêtre fait la chose facilement)
Code:
Sub Choisir_dans_Classeurs_ouverts()
Dim tmp$, Activation_W$, WBK As Workbook
For Each WBK In Application.Workbooks
tmp = tmp & WBK.Name & vbCr
Next
Activation_W = _
Application.InputBox("Choisir un classeur en saisissant son nom:" _
& vbCr & tmp, "Activation", "", 2)
On Error Resume Next
Workbooks(Activation_W).Activate
End Sub
Merci encore JM,
Je vais garder précieusement ton code.
Celui que je fais est particulière long et certainement "tarabiscoté" (amateur que je suis)
Tu vas certainement arracher les yeux du "pseudo machin truc" que je ne suis pas.
@Usine à gaz
Pour ma part, que le code VBA soit cristallin et sente la rose ou soit "long et certainement "tarabiscoté", je m'en tiendrai dans le cas présent à:
utiliser ma souris et faire :
NB: Dans un cadre professionnel, j'essaie d'avoir au grand max 5 classeurs ouverts en même temps.