Création MACRO/VBA

Fermé
célinetissier Messages postés 3 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 23 juin 2013 - 23 juin 2013 à 16:55
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 24 juin 2013 à 16:44
Bonjour,
J'ai besoin de créer une macro sur un fichier excel.
Complètement novice en Macro/VBA, quelqu'un pourrait-il m'expliquer comment faire, voici ce que je souhaiterais faire :
- Si dans le premier onglet "aspect", je mets en cellule D7 "Montaigu", alors seul les onglets "COA's Isigny" et "COA's Arla"doivent disparaître.

Voici le lien avec le fichier
http://cjoint.com/12ju/BGnjbOE0I9P.htm

Je voudrais des explications pour une novice, car j'essai de comprendre comment fonctionne une macro avec les qq info que je trouve sur le net.

Merci par avance
A voir également:

6 réponses

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 23/06/2013 à 17:02
Bonjour,

c'est le bon fichier que tu as joint ?
je mets en cellule D7 "Montaigu", alors seul les onglets "COA's Isigny" et "COA's Arla"doivent disparaître.
C'est le seul cas à traiter ? Tu ne vas pas revenir en disant et si je mets... alors..., et si ça, faire réapparaitre...
Et D7 est saisis ou c'est une formule ?

eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
célinetissier Messages postés 3 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 23 juin 2013
23 juin 2013 à 17:05
si , en fait :
- si je mets montaigu en D7, seul Montaigu doit apparaitre,
- si c'est Isigny, seul l'onglet Isigny doit apparaitre
- et si je mets Arla seul Arla doit apparaitre

Merci
0
Le Pingou Messages postés 12190 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 novembre 2024 1 449
Modifié par Le Pingou le 23/06/2013 à 17:12
Bonjour à tous ,
Si vous mettiez un commentaire qui correspond avec votre classeur se serait mieux .... (par exemple : le premier onglet = « First quater » et non pas « aspect »)..... !
Note, vous faites référence à des onglets introuvables sur votre classeur.... !


Salutations.
Le Pingou
0
célinetissier Messages postés 3 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 23 juin 2013
23 juin 2013 à 17:22
désolé, voici le lien avec le bon fichier joint :
http://cjoint.com/13jn/CFxrvOigNqO.htm
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
23 juin 2013 à 17:58
Une proposition :
Private Sub Worksheet_Change(ByVal Target As Range)
    Const supplier As String = "Montaigu;Isigny;Arla"
    Dim sh As Worksheet, pos As Long
    If Target.Address = "$D$7" Then
        Application.ScreenUpdating = False
        For Each sh In Worksheets    ' pour chaque feuille
            pos = InStr(supplier, sh.Name)
            If pos > 0 Then ' si nom dans la liste
                If sh.Name = [D7] Then sh.Visible = xlSheetVisible Else sh.Visible = xlSheetHidden
            End If
        Next sh
        Application.ScreenUpdating = True
    End If
End Sub

Modifier la constante au début si besoin.
J'y ai récupéré ta liste de validation. Par contre les noms de feuilles doivent être identiques, majuscules comprises. Voir ARLA à renommer en Arla.
https://www.cjoint.com/?CFxr3q4KOtV

eric
0
celinetissier
24 juin 2013 à 13:39
merci beaucoup, mais pourrais-tu m'expliquer ou se trouve la macro, je n' arrive pas à la visualiser.

Peux-tu m'expliquer aussi la macro STP.

MERCI
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
24 juin 2013 à 16:44
Bonjour,

Clic-droit sur le nom d'onglet de 'Aspect' et choisir 'visualiser le code...'
J'ai mis qcq commentaires. Pour les fonction que tu ne connais pas faire F1 dessus pour avoir l'aide très bien faite d'excel.
Le principe :
Tous les noms des feuilles concernées sont déclarées dans une constante (parce que tu en as beaucoup d'autres à laisser tranquilles).
On balaie toutes les feuilles, si son nom est dans la liste on la masque ou on l'affiche en comparant son nom à D7.

eric
0