Revenir sur la feuille qui a lancer mon macro

ced5757 Messages postés 40 Statut Membre -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

dans un macro je voudrais exécuter mon macro sur une feuille, aller sur une autre puis revenir sur ma première feuille.
seulement ce macro doit se réaliser sur plusieurs feuille different donc je ne pas simplement sélectionner le nom d'une feuille en particulier

j'essaye pour cela de nommer ma 1ere feuille (de manière éphémère) par "avant" lors de l'exécution de mon macro
puis de revenir dessus en écrivant Sheets("avant").Select

voici mon code, excel m'indique mon erreur a Sheets("avant").Select mais a mon avis je n'arrive tout simplement pas a donner à la feuille qui exécute mon macro un nom "éphémère" comme voulu

Sub rafraichissement2()
'
' rafraichissement2 Macro
'

'
    ActiveSheet.Name = "avant"
    Range("B11").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("recap").Select
    ActiveSheet.ListObjects("Tableau13").Range.AutoFilter Field:=1
    Range("Tableau13").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Sheets("avant").Select
    Range([A22], [A65536].End(xlUp).End(xlToRight)).Select
    Selection.Copy
    Sheets("recap").Select
    Rows("14:14").Select
    Selection.Insert Shift:=xlDown
End Sub

3 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

je suppose que c'est la feuille active que tu veux mémoriser au lancement de la macro.
Mémoriser :
dim shAct as worksheet
set shAct=activesheet

Activer:
shAct.select

eric
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

Sur l'autre discussion j'ai rajouté quelques exemples de codes, les as tu vus ?

Tu peux mémoriser la feuille active de départ en début de code avec cette ligne

Set AdresDéprt = ActiveSheet

et en fin de code avant End Sub
tu récupères la mémorisation avec cette ligne

Set AdresDéprt = ActiveSheet

ou directement en fin de code tu sélectionnes la feuille souhaitée exemple la feuille nommée Feuil1

Sheets(Feuil1").select ou Activate

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

apparemment ça te fatigue de faire de retour et/ou de dire merci.
Tu ne donnes suite à tes questions que si tu n'as pas compris une réponse.
Ok, c'est noté.
eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0