IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment revenir à la feuille juste avant


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 47
    Par défaut Comment revenir à la feuille juste avant
    Bonjour,

    J'ai eu du mal à expliquer mon problème sur le titre. C'est aussi la raison pour laquelle je n'arrive pas à utiliser mon ami google .
    En effet, je veux faire un macro pour déplacer vers la feuille juste avant.
    Par exemple : je suis dans la feuille 5, je clique sur la feuille 9, je exécute le macro et je reviens à feuille 5 .

    Comment le dit sur vba ?

    Merci d'avance

  2. #2
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Bonjour,

    Est-ce quelque chose comme ceci?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil5").Activate
    Sinon, tu devras expliquer un peu plus!

  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    peut-être en déclarant ta feuille dans une variable "public" avant de changer

    dans un module
    public nomfeuil as string

    dans ta procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomfeuil = activesheets.name
    en fin de procédure sur feuille 9

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets(nomfeuil).activate 'ou select
    ca devrait marcher
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 47
    Par défaut
    Merci pour les réponses si rapides

    Mais je veux que ce macro marche pour toutes les feuilles. Ca veut dire, si je suis à feuille 1, je vais à feuille 2, ensuite, je vais à feuille 3, je lance le macro, je reviens à feuille 2, je lance encore macro je reviens à feuille 1.

    C'est pour naviguer entre 2 feuille dans un fichier de 60 feuilles.

    Si un jour excel comprend ce qu'on pense, ça sera

  5. #5
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Il est possible d'utiliser cette technique (comme précédent dans exploreur) mais tu devras coder autant de variables (ou un tableau) contenant le nombre de feuilles que tu veux garder.

    Et faire quelque chose du genre
    Ancien 1 = Ancien 2
    Ancien 2 = Ancien 3
    Ancien 3 = Ancien 4
    Ancien 4 = Actuel
    ...

    Je viens de penser à quelque chose...

    En utilisant une feuille vide qu'on pourrait nommer historique...
    En utilisant aucune variable!

    La colonne A de la feuille historique contient une valeur (nuérique) qui indique le nombre de feuilles visitées.
    La colonne B ... Quand l'utilisateur change de feuille on incrément le compteur (A1), le nom de l'ancienne feuille s'inscrit à la suite (donc la ligne inscrit en A1)

    Quand on exécute la macro, on retourne à la dernière feuille inscrite dans la colonne B (en utilisant le numéro du compteur), en effacant la dernière feuille et diminuant le compteur de 1.


  6. #6
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour le fil le forum essai un truc comme cela dans ta macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Inser()
    On Error Resume Next 'pour la 1feuil
    'ton code
    ActiveSheet.Previous.Select
    End Sub

  7. #7
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Ce code sélectionne la feuille précédente (en position) et non la feuille sélectionnée précédemment...

  8. #8
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 152
    Billets dans le blog
    2
    Par défaut
    Bonjour Antoine,

    Bienvenue sur le forum
    Tu viens de répondre à une question de ... 2009
    Pense à regarder la date, ça permet de voir si la question est d'actualité

  9. #9
    Nouveau candidat au Club
    Homme Profil pro
    SANS
    Inscrit en
    Mars 2025
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Belgique

    Informations professionnelles :
    Activité : SANS

    Informations forums :
    Inscription : Mars 2025
    Messages : 2
    Par défaut Si j'ai bien compris ta question......
    Citation Envoyé par P96O1004 Voir le message
    Bonjour,

    J'ai eu du mal à expliquer mon problème sur le titre. C'est aussi la raison pour laquelle je n'arrive pas à utiliser mon ami google .
    En effet, je veux faire un macro pour déplacer vers la feuille juste avant.
    Par exemple : je suis dans la feuille 5, je clique sur la feuille 9, je exécute le macro et je reviens à feuille 5 .

    Comment le dit sur vba ?

    Merci d'avance
    Dans le code ci-dessous c'est pour copier une feuille (ou un ensemble de cellules, n'importe quelle partie au fait. et revenir la coller à la page d'où tu es parti, c'est bien cela ? Dans ce code je pars d'une feuille quelconque et je vais aller copier et coller la feuille 1 dans la page où je me trouvais précédemment. QUELLE QUE SOIT la page où tu te trouves tu laisses le code TEL QUEL, la moindre ligne, tu changes juste la page (ici page 1 dans mon code) par celle que tu veux copier, ou copier en partie.

    Voici le code :

    Sub Macro_code_demandé()

    Set LastSheet = ActiveSheet
    Feuil1.Select
    Range("A1:N2").Select
    Selection.Copy
    LastSheet.Activate
    Range("A1").Select
    ActiveSheet.Paste

    End Sub

    IL TE SUFFIT DE REMPLACER Feuil1 par la feuille que tu veux copier en tout ou partie. Tu utilises "cells.select" si tu veux la copier en entier ou range(x:y) si tu ne veux qu'une partie. SURTOUT NE CHANGE RIEN D'AUTRE !!!!!

    Bien à toi.

    Antoine.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Comment Empêcher l'affichage des feuilles masquées avant l'activation des macros ?
    Par yao.chris dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/02/2014, 15h23
  2. [Just Basic] Comment revenir de .TKN en .BAS ?
    Par FANFAN LA TULIPE dans le forum Basic
    Réponses: 3
    Dernier message: 28/04/2008, 07h16
  3. [VB.NET] Comment revenir à la page précédente?
    Par le lynx dans le forum ASP.NET
    Réponses: 7
    Dernier message: 12/04/2005, 09h42
  4. Réponses: 2
    Dernier message: 03/03/2004, 10h44
  5. automation excel : comment indiquer la feuille de travail ?
    Par mat_lefebvre dans le forum Access
    Réponses: 2
    Dernier message: 04/12/2003, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo