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 :

Sélection d'un nom de feuille dans un textbox


Sujet :

Macros et VBA Excel

  1. #21
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ok. Pour masquer toutes les feuilles sauf la feuille activée, tu dois connaître le nom de la feuille affichée précédemment.
    Tu ajoutes l'identification de la feuille active afin de pouvoir la masquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub TxtChoix_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim nfeuil as string, NomFeuilleActive as string
        NomFeuilleActive = Activesheet.name
        nfeuil = trim(TxtChoix.text) 'on supprime les espaces éventuels
        Worksheets(nfeuil).Visible = True
        Worksheets(nfeuil).Activate
        Worksheets(NomFeuilleActive).visible = False
    End Sub
    Edit
    Si tu as besoin de masquer toutes les feuilles sauf la feuille active, en fin de macro et à la place de
    Worksheets(NomFeuilleActive).visible = False
    tu mets ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For Each LaFeuille In ActiveWorkbook.Worksheets
         If Not LaFeuille.Name = nfeuil Then _
              LaFeuille.Visible = False
    Next

  2. #22
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Ok. Pour masquer toutes les feuilles sauf la feuille activée, tu dois connaître le nom de la feuille affichée précédemment.
    Tu ajoutes l'identification de la feuille active afin de pouvoir la masquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub TxtChoix_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim nfeuil as string, NomFeuilleActive as string
        NomFeuilleActive = Activesheet.name
        nfeuil = trim(TxtChoix.text) 'on supprime les espaces éventuels
        Worksheets(nfeuil).Visible = True
        Worksheets(nfeuil).Activate
        Worksheets(NomFeuilleActive).visible = False
    End Sub
    Edit
    Si tu as besoin de masquer toutes les feuilles sauf la feuille active, en fin de macro et à la place de
    tu mets ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For Each LaFeuille In ActiveWorkbook.Worksheets
         If Not LaFeuille.Name = nfeuil Then _
              LaFeuille.Visible = False
    Next
    J'ai trouvé la solution à mon problème. Dans WorkBook_Open() j'ai écrit cela Sheets(x).visible=XlSheetVeryHidden et ça marche.

    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
    Private Sub WorkBook_Open()
    Dim X As Integer
    Application.StatusBar = "Réalisée par René LE CORNEC"
    Dim Cmdb As CommandBar
        For Each Cmdb In Application.CommandBars
        Cmdb.Enabled = True
    Next Cmdb
        With Application
            .DisplayFullScreen = True
            .DisplayStatusBar = False
            .DisplayFormulaBar = False
        End With
        Sheets("1").Visible = True
        Sheets("1").Activate
        For X = 2 To Sheets.Count
        Sheets(X).Visible = xlSheetVeryHidden
        Next X
    Load FrmChoix
    FrmChoix.Show
    End Sub
    Merci pour votre aide à toi et à Garfael vous êtes super

  3. #23
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ton code fonctionnera... ok ! mais il ne fonctionnera que tant que la feuille X sera en première position dans ton classeur...
    C'est mieux quand on le sait

  4. #24
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Merci pour l'info. Les feuilles ne doivent pas changer de place. Je vais l'interdire.

    Dernière question. Dans mes 52 feuilles j'ai 3 boutons (Fermer/Afficher/Semaine) avec un code appliquer à chacun.
    Est-ce qu'il est possible d'avoir à un endroit un seul code pour chaque bouton, cela m'éviterai de répeter les codes sur les 52 feuilles.

  5. #25
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Jamais essayé mais si tu places ton code dans des macros placées dans un module standard et que tu appelles ces macros depuis chacun de tes boutons, ça devrait fonctionner...
    Tu testes et tu nous dis... comme ça on aura la réponse

    Edit
    Tu aurais une autre solution : Créer tes trois boutons dans une barre d'outils que tu crées à l'ouverture de ton fichier pour les retirer à la fermeture.
    Et là, tu as le code un peu partout, sur le forum, dans la FAQ et dans Contribuez
    Plus besoin de bouton sur chaque feuille.

    Si ça t'intéresse, fais une recherche avec "CommandBars"

  6. #26
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Je vais aller plutôt dans le sens d'une barre à outils à 3 boutons. Je ne maîtrise pas assez VBA pour me lancer dans les modules. Mais je vais quand même tenter à un autre moment sur une autre appli je te tiens informé du résultat.
    A+

  7. #27
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour créer la barre d'outils, tu vas devoir te lancer... A part dans un module, je ne vois pas où tu peux mettre le code pour la créer et pour l'enlever ensuite.
    Ce n'est pas compliqué : Dans l'éditeur VB, tu fais un clic sur ton projet -> Insertion -> Module
    Epicétou
    Il ne te reste plus qu'à mettre le code dans ce module.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub TaMacroPourTonBouton1()
        'Le code que tu as mis derrière ton bouton
    end sub
    Et derrière ton bouton, tu mets simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub TonBouton1_Click()
         TaMacroPourTonBouton1
    End sub
    Et tu fais ça pour chaque bouton
    Je ne sais pas si je t'aide mais je ne pouvais pas te laisser "comme ça"

  8. #28
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Chose primordiale, tu déclare la variable nfeuille dans la macro, ce qui veux dire que chaques fois que tu rentre dans la macro la variable est réinitialisée à 0. Soit la mettre en variable générale pour l'UF soit la déclarer en 'Static'
    A+

  9. #29
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Eh bien en fait j'ai créé un formulaire avec 3 boutons qui s'affiche dès l'ouverture du ficher, j'ai mis le code d'affichage dans ThisWorkBook. Pour le moment cela me satisfait. Mais j'essaierai quand même avec les modules. Je viens d'essayer avec les modules c'est pas mal non plus. Je crois que mes problèmes sont résolus à présent.
    Merci à tous les développeurs qui ont contribués à la réussite de mon projet.
    J'espère pouvoir renvoyer l'ascenseur un jour.
    Encore mille mercis

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XL-2013] Nom de feuille dans vba
    Par pubbins dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/05/2014, 09h59
  2. [Toutes versions] Recupérer les noms des feuilles dans Excel
    Par cinfo84 dans le forum Access
    Réponses: 3
    Dernier message: 31/07/2012, 23h10
  3. Interroger le nom des Feuilles dans un Workbook
    Par athos7776 dans le forum Excel
    Réponses: 6
    Dernier message: 01/12/2008, 16h28
  4. Affection d'un nom à une feuille dans une macro
    Par bichouille dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/11/2006, 12h25
  5. [VBA E] nom de feuille dans une combobox
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 20/06/2006, 19h53

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