[Excel-VBA] Retour à la feuille précédente

Résolu/Fermé
Tuc Messages postés 9 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 6 mars 2009 - 6 mars 2009 à 12:16
Tuc Messages postés 9 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 6 mars 2009 - 6 mars 2009 à 19:13
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
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
6 mars 2009 à 13:05
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
Tuc Messages postés 9 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 6 mars 2009
6 mars 2009 à 19:13
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
0
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
0