Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Routine pour retour au dernier classeur ouvert

5 réponses
Avatar
michir
Bonjour,
Je cherche =E0 faire une routine "Retour" qui me ram=E8nerai au dernier cla=
sseur ouvert =E0 l'endroit que je viens de quitter. Est-ce possible ?
Merci
Michel

5 réponses

Avatar
DanielCo
Bonjour,
Tu peux utiliser :

Application.RecentFiles(1).Open

Vérifie que le classeur est fermé avant de l'ouvrir. Quand à la
dernière cellule utilisée, ce sera celle au moment de l'enregistrement.
Cordialement.
Daniel

Bonjour,
Je cherche à faire une routine "Retour" qui me ramènerai au dernier classeur
ouvert à l'endroit que je viens de quitter. Est-ce possible ? Merci
Michel
Avatar
DanielCo
C'est un peu plus compliqué si tu recherches le dernier classeur fermé.
Il faut parcourir la liste des "recentfiles" pour trouver le premier
qui n'est pas ouvert. Précise bien ce que tu veux.
Daniel


Bonjour,
Je cherche à faire une routine "Retour" qui me ramènerai au dernier classeur
ouvert à l'endroit que je viens de quitter. Est-ce possible ? Merci
Michel
Avatar
michir
Merci Daniel,
En principe mon dernier classeur est ouvert (je navigue entre un classeur o uvert pour le mois en cours "Octobre" par exemple et un classeur "carburant ")
Je ne sais où placer ta routine
Application.RecentFiles(1).Open ....dans Workbook ? à l'intérieur de "P rivate Sub Workbook_Open()" ?
Sans vouloir abuser, peux tu me faire un exemple de 2 classeurs avec la rou tine de Retour pour le second ?
Merci à toi
Michel
Avatar
DanielCo
Cette macro ouvre le dernier classeur fermé pourvu qu'il se trouve dans
la liste des fichiers récents (17 par défaut avec XL2010).

Sub test3()
'Réf.111021.xlsm
Dim tabl(), Ctr As Integer, wb As Workbook, rf As Workbook
ReDim tabl(0)
Ctr = -1
For Each wb In Workbooks
Ctr = Ctr + 1
ReDim Preserve tabl(Ctr)
tabl(Ctr) = wb.Name
Next wb
With Application
For i = 1 To Application.RecentFiles.Count
Var = Mid(.RecentFiles(i).Name, _
InStrRev(.RecentFiles(i).Name, "") + 1, 9 ^ 9)
If Not IsNumeric(.Match(Var, tabl(), 0)) Then
.RecentFiles(i).Open
Exit Sub
End If
Next i
End With
End Sub

Daniel

Merci Daniel,
En principe mon dernier classeur est ouvert (je navigue entre un classeur
ouvert pour le mois en cours "Octobre" par exemple et un classeur
"carburant") Je ne sais où placer ta routine Application.RecentFiles(1).Open
....dans Workbook ? à l'intérieur de "Private Sub Workbook_Open()" ? Sans
vouloir abuser, peux tu me faire un exemple de 2 classeurs avec la routine de
Retour pour le second ? Merci à toi Michel
Avatar
michir
Ok, merci à toi Daniel
Michel