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 :

Aide pour terminer un code [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut Aide pour terminer un code
    Bonsoir à tous,

    Dans mon application, des icônes me servent à ouvrir des feuilles de calcul. Une icône = une feuille.
    Sauf pour 2 d'entre-elles où il faut qu'une autre feuille soit ouverte en même temps et c'est là que ça coince.
    Merci pour l'aide que vous pourrez m'apporter. Je suis certain que c'est une bricole mais je n'arrive pas à trouver.

    Code pour l'ouverture d'une feuille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub Commande(control As IRibbonControl)
    Dim sh As Worksheet
        Select Case MsgBox("Vous avez cliqué sur le bouton ""Commandes""", vbYesNo, "Est-ce bien votre choix ?")
            Case vbYes
                MsgBox "J'ouvre la feuilles..."
        Sheets("Commandes").Visible = 1
        For Each sh In Sheets
            If sh.Name <> "Commandes" Then sh.Visible = 2
        Next
            Case vbNo
            Exit Sub
        End Select
    End Sub

    Code pour l'ouverture de 2 feuilles (ça ne fonctionne pas) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    'Dans ce code, les feuilles Commandes et BCommandes doivent être ouvertes en même temps
     
    Sub BCommande(control As IRibbonControl)
    Dim sh As Worksheet
        Select Case MsgBox("Vous avez cliqué sur le bouton ""BCommandes""", vbYesNo, "Est-ce bien votre choix ?")
            Case vbYes
                MsgBox "J'ouvre la feuille..."
        Sheets("BCommandes").Visible = 1
        Sheets("Commandes").Visible = 1
        For Each sh In Sheets
            If sh.Name <> "BCommandes" Then sh.Visible = 2
            If sh.Name <> "Commandes" Then sh.Visible = 2
        Next
            Case vbNo
            Exit Sub
        End Select
    End Sub

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir,

    Simplement avec un démarche logique en sachant qu'une feuille au moins doit rester visible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    'Dans ce code, les feuilles Commandes et BCommandes doivent être ouvertes en même temps
     
    Sub BCommande(control As IRibbonControl)
    Dim sh As Worksheet
        Select Case MsgBox("Vous avez cliqué sur le bouton ""BCommandes""", vbYesNo, "Est-ce bien votre choix ?")
            Case vbYes
                MsgBox "J'ouvre la feuille..."
                With Sheets("BCommandes")
                    .Visible = 1
                    .Activate
                End With
                For Each sh In Sheets
                    If sh.Name = "BCommandes" Or sh.Name = "Commandes" Then
                        sh.Visible = 1
                    Else
                        sh.Visible = 2
                    End If
                Next
            Case vbNo
                Exit Sub
        End Select
    End Sub
    Cela dit, je ne souhaites pas utiliser ton classeur car passer son temps à valider des messages n'est pas ma tasse de thé

  3. #3
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonsoir anasecu,

    Merci pour ta réponse. N'aie crainte, ces messages ne resteront pas dans mon application, ce sont des essais que je fais dans un fichier exemple, dans l'original il n'y aura de tout ça. Ils ne servent qu'à encombrer le fichier.
    Bonne soirée et encore merci
    Amicalement

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

Discussions similaires

  1. Aide pour terminer un code
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/11/2014, 22h23
  2. Nouvelle aide pour terminer un code
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/09/2013, 15h20
  3. Aide pour terminer un code qui ne fonctionne pas
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 11/02/2013, 16h29
  4. [MySQL] Aide pour terminer le code de traitement !
    Par plorton dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/08/2011, 13h07
  5. Je besoin d'aide pour terminer mon code
    Par Paulinho dans le forum C++
    Réponses: 7
    Dernier message: 06/11/2005, 23h30

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