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 :

Macro Appel Feuille


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Macro Appel Feuille
    Bonjour,

    j'ai un petit souci, c'est pourtant une formule simple que je veux mettre en place.

    J'ai crée une liste déroulante (à partir d'une plage de données), et j'ai crée un bouton. J'aimerai que quand je sélectionne dans la liste une donnée quand cliquant sur le bouton, ça envoie une macro qui m'affiche la feuille correspondant au nom sélectionné dans la liste.

    J'ai essayé un simple sheets = range ("nomdelacelluledelaliste")
    mais ça n'a pas fonctionné.

    Est ce que c'est réalisable ? en sachant que la feuille comporte beaucoup beacoup d'onglets.

    cordialement

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Une proposition à mettre dans l'évènement Change de la feuille. adapter l'adresse de la cellule contenant ta liste, pas besoin de bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sht As Worksheet
    If Target.Address = "$A$5" Then 'liste en A5
        On Error Resume Next
        Set sht = Sheets(Target.Value)      'pour éviter l'erreur quand lnom de la feuille choisie est inexistant
        On Error Resume Next
        If Not sht Is Nothing Then
            sht.Activate
        Else
            MsgBox "aucune feuille portant le nom " & Target.Value
        End If
    End If
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 388
    Points : 437
    Points
    437
    Par défaut
    Bonsoir,

    Je proposerai tout simplement d'utiliser la barre de commande des onglets en faisant un double clic sur n'importe quelle feuille


    A mettre dans le module ThisWorkbook

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
        Application.CommandBars("Workbook tabs").ShowPopup '500, 200
    End Sub

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour les formules, je vais les essayer. Par contre j'ai oublié de préciser que je ne peux pas faire un simple changement onglet, car la feuille comporte plus d'une cinquantaine d'onglets .

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par mercatog Voir le message
    Une proposition à mettre dans l'évènement Change de la feuille. adapter l'adresse de la cellule contenant ta liste, pas besoin de bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sht As Worksheet
    If Target.Address = "$A$5" Then 'liste en A5
        On Error Resume Next
        Set sht = Sheets(Target.Value)      'pour éviter l'erreur quand lnom de la feuille choisie est inexistant
        On Error Resume Next
        If Not sht Is Nothing Then
            sht.Activate
        Else
            MsgBox "aucune feuille portant le nom " & Target.Value
        End If
    End If
    End Sub
    J'ai testé ta formule, quand je l'a lance, un tableau apparait me proposant les macros que j'avais precedemment rentré. Je ne comprends pas trop le fonctionnement, ni comment l'a lancé depuis excel (hors mode création), c'est peut être un peu trop poussé pour que je comprennes ^^.

    En tout cas merci pour le temps passé à me répondre .

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    J'ai crée une liste déroulante (à partir d'une plage de données)
    Tu as crée cette liste dans le cellule A5 de la feuille Nathalie (par exemple).
    Tu ouvre l'éditeur vba
    à gauche, tu double clique sur ta feuille Nathalie
    tu y colle le code proposé précédemment.
    C'est l'évènement Change de la feuille Nathalie.

    Tu n'auras pas besoin de bouton pour lancer la macro, elle sera lancé automatiquement dès un changement des données de ta feuille Nathalie (cellule A5)
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

Discussions similaires

  1. macro nommer feuilles dans un classeur
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2008, 07h08
  2. Macros insérer feuille ligne et mise à jour
    Par rembliec dans le forum Excel
    Réponses: 6
    Dernier message: 08/11/2007, 15h48
  3. appel feuille de style
    Par cell dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 11/08/2006, 14h45
  4. [VBA-E]Lancement macro ouverture Feuille
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 08/06/2006, 20h31
  5. [XHTML]appel feuille de style
    Par chienlou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 07/06/2006, 15h51

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