Rapeler une feuille

Résolu
Signaler
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
31 août 2016
-
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
31 août 2016
-
Bonjour,
je suis un vrais noob (débutant) en prog.
je sais enregistrer une macro sous EXEL grace a l'enregistreur et l'appliquer a une feuille de maniere a se que cette macro s'applique au changement de fenetre.
mais mon probleme est que ma macro m'ouvre toujours une feuille sur la quelle je fait des modifs, mais je ne veux pas que cette feuille s'ouvre a chaque foix.

Je voudrais savoir comment faire pour copier le nom (feuille 1) de la feuille que je selectionne, appliquer ma macro qui me met sur la feuille que je ne veux pas afficher (feuille 2), puis afficher la feuille dont j'ai copier le nom (feuille 1).

voila

10 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

si tu veux récupérer le nom d'une feuille, ce n'est pas en tant qu'objet que tu dois récupérer l'infos, mais en tant que String :

Dim NameSheet As String

NameSheet = ActiveSheet.Name
Sheets(NameSheet).Select

Par contre, dans ce cas de figure, c'est inutile, car pourquoi sélectionner la feuille qui est déjà active ?

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~

nouveau Forum ! Exclusivement Office / VBA
                                                                                                                    
                                                                                          
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Oui, absolument.
Tu la renommes comme tu veux, tant que ce n'est pas un mot réservé par VB, et que ça ne commence pas par un chiffre

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~

nouveau Forum ! Exclusivement Office / VBA
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Tu peux aussi y aller comme tu disais

Dim Feuille as Worksheet
Set Feuille = ActiveSheet
... tu fais ton bout de code sur une autre feuille
Feuille.activate  ' et tu reviens sur ta feuille de départ

MPi
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
31 août 2016

bon j'ai trouvé ca pour le début, je ne sais pas si c est bon ou non, mais je n'arrive pas a reselectionner ma feuille

'création de la mémoire de page selectionné
'Worksheets.Copy
'ActiveSheet.Name    'Renvoie le nom de la feuille placée au premier plan

Dim Ws As Worksheet 'Déclare la variable objet Worksheet

'Attribue la référence objet à la variable

Set Ws = ActiveSheet.Name   'La feuille est un Objet: la variable doit donc être précédée de l'instruction Set lors de l'attibution.

'selection la feuille mise en mémoire

Worksheets Ws.Select

L'erreur se trouve au niveau de ma derniere commande.
A L'aide
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
31 août 2016

ok merci mortalino, je suppose que NameSheet est le nom de ma variable et que par consequant je peux l'appeler comme je veux Fselect par exemple ??

Dim NameSheet As String
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
31 août 2016

ok merci pour la précision.
 et tu me disais :Par contre, dans ce cas de figure, c'est inutile, car pourquoi sélectionner la feuille qui est déjà active ?

ben non ce ma feuille n'est plus active après l'execution de ma macro, et la justement je la rappel.

voila encore merci pour tout
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
31 août 2016

Ecoute MPI ça ne fonctionne pas comme tu me dis
Ptetre je me trompe dans le code

Dim FeuiSelect As Worksheet
Set FeuiSelect = ActiveSheet

mon code de mise en forme

Worksheets(FeuiSelect).Select
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
31 août 2016

je me suis trompé dans se que j'ai coller

Dim FeuiSelect As Worksheet
Set FeuiSelect = ActiveSheet

mon code de mise en forme

FeuiSelect.Select

Voila c'est mieu, mais ca ne fonctionne jtrs pas, j'ai une erreur dans la derniere ligne (FeuiSelect.Select)
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Je pense avoir écrit Activate et non Select
Est-ce que tu travailles avec des feuilles différentes dans le même classeur ou dans des classeurs différents ?

MPi
Messages postés
14
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
31 août 2016

je suis confu

je travail sur plusieurs feuilles dans le même classeur

Pourtent j'ai relu 10X se que tu m'avais écrit quand j'avais vu que ça ne fonctionnait pas