[Excel-VBA] Retour à la feuille précédente [Résolu/Fermé]

Signaler
Messages postés
9
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
6 mars 2009
-
Messages postés
9
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
6 mars 2009
-
Bonjour,

J'ai une macro d'enregistrement de données qui peut être déclenchée à partir de différentes feuilles de mon classeur. J'aimerai après l'enregistrement sur la feuille des données revenir automatiquement à la feuille d'où à été déclenchée ma macro. Pour cela j'ai créé 2 macros :

Sub Aller()
'ROLE : Enregister le nom de la feuille en cours en vu d'y retourner après l'execution d'une macro

Dim FeuillePrecedente As String
FeuillePrecedente = ActiveSheet.Name
End Sub


Sub Retour()
'ROLE : Retourner à la feuille précédente

Sheets(FeuillePrecedente).Select
End Sub



Le problème c'est que je me prends une erreur "Erreur d'exécution '9' : L'indice n'appartient pas à la sélection" et
Sheets(FeuillePrecedente).Select
est surligné...

Une solution ?

Merci d'avance

Tuc

2 réponses

Messages postés
12235
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
6 janvier 2021
2 551
Salut,
Oui mais si tu es en feuil322 que tu veuilles retourner sous la feuille ou tu étais précédemment et que ... tu en as oublié le numéro!!
Ceci fonctionne :

Dim FeuillePrecedente As String 'définit ta variable pour ton classeur et pas pour ta sub
Sub Aller()
FeuillePrecedente = ActiveSheet.Name
End Sub

Sub Retour()
Sheets(FeuillePrecedente).Select
End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
9
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
6 mars 2009

La solution était toute simple...

Il fallait juste définir la variable feuille précédente de cette façon :

Option Explicit
Dim FeuillePrecedente As String

Sub Aller()
'ROLE : Enregister le nom de la feuille en cours en vu d'y retourner après l'execution d'une macro

FeuillePrecedente = ActiveSheet.Name
End Sub

Sub Retour()
'ROLE : Retourner à la feuille précédente

Sheets(FeuillePrecedente).Select
End Sub



Merci quand même !

Tuc
si tu mets par example un bouton "enregistrer" sur une feuille,pour revenir à la feuille qui l'a déclenché
tu peux par exemple écrire dans le code du bouton apres avoir enregistrer
feuil1.select