1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Sub AtteindreAutresClasseursOuverts()
'Permet à l'utilisateur d'accéder aux classers excel ouverts
'Source Club.Developpez.com
Dim Tableau()
Dim RangElement As Integer, ChoixUtilisateur As Variant, ReferenceClasseur As String
'Recherche de la liste des classeurs ouverts, afin d'en afficher le contenu
For RangElement = 1 To Application.Workbooks.Count
ReDim Preserve Tableau(RangElement) 'Espace de stackage du tableau
Tableau(RangElement) = Workbooks(RangElement).Name
ReferenceClasseur = ReferenceClasseur & RangElement & " - " & Workbooks(RangElement).Name & Chr(10)
Next
'Contenu de la liste des classeurs ouverts affiché _
Demande choix à l'utilisateur
ChoixUtilisateur = InputBox("Parmi les documents déjà ouverts" & Chr(10) & "en choisir un dans la liste ci-dessous" & Chr(10) & Chr(10) & ReferenceClasseur & Chr(10) & "N°" & Chr(10), "Accéder à un autre document Excel déjà ouvert")
'Gestion de la réponse de l'itilisateur
'Pas de réponse
If ChoixUtilisateur = "" Then Exit Sub
'Réponse hors proposition
If Not IsNumeric(ChoixUtilisateur) Or ChoixUtilisateur < LBound(Tableau) + 1 Or ChoixUtilisateur > UBound(Tableau) Then
MsgBox "Votre réponse n'est pas dans la liste" & Chr(10) & Chr(10) & "Demande annulée", vbApplicationModal + vbExclamation, ""
Else
'Bascul vers le classeur ouvert choisi
Workbooks(Tableau(ChoixUtilisateur)).Activate
End If
End Sub |