Macro-Excel 2003 : Afficher une feuille masquée selon le résultat d'une cellule

Résolu
xalinys Messages postés 6 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 25 mai 2011 - 30 mars 2011 à 17:18
xalinys Messages postés 6 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 25 mai 2011 - 31 mars 2011 à 10:01
Bonjour à tous,

Je suis nouvelle utilisatrice de macros et ne connais pas bien le langage V.B.
J'espère être au bon endroit pour demander de l'aide car je n'arrive pas à trouver par moi-même la solution sur les divers forum dédié à la macro Excel et lorsque je trouve des bouts de code, je n'arrive pas à les modifier comme il faut, du coup ça ne fonctionne pas.

Mon problème :
Sur une feuille de "saisie de donnée", je saisie un code client. Grâce à ce code, des recherchev vont afficher une référence de centrale d'achat en B8 par exemple. Je souhaite ensuite qu'en cliquant sur un bouton, une macro aille me rechercher parmi les feuilles masquées la feuille correspondant à la centrale comme nommée comme en B8 et uniquement celle-là.

Le but est de n'avoir que deux onglets au final : la saisie et le résultat qui lui est associé.

Ci-dessous ma tentative (écrite telle quelle) mais qui doit être super fausse car je n'arrive pas à appliquer les exemples trouvés à mon cas et ça finit par faire un mix bizarre je pense :

[i]Private Sub Worksheet_Change(ByVal Target As Range)
Dim Centrale As String
If Range("B8").Value = Centrale Then
Sheets("& Centrale &").Visible = True
End If
End Sub/i


Pouvez-vous m'aider s'il vous plaît ?
Merci d'avance.
Xalinys

2 réponses

Muygiwara56 Messages postés 23 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 31 juillet 2012
30 mars 2011 à 17:58
Bonjour,

Si je comprend bien tu as une première feuille qui s'appelle "saisie de donnée" et à partir de cette feuille et en fonction de la valeur de la cellule b8, tu veux afficher une autre feuille du même nom que la valeur de la cellule b8.
Essai ce code:

Sub selectionCentrale()
'Variable Centrale est chaine de caractere et vCentrale est la valeur de la cellule B8
Dim centrale As String
vCentrale = Range("B8").Value
'Si b8 est différent de zéro
If Range("B8").Value <> "" Then
'Alors selectionne vCentrale(valeur cellule B8)
Sheets(vCentrale).Select
End If
End Sub

Tiens moi au courant
Amicalement

Mugi
3
xalinys Messages postés 6 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 25 mai 2011
31 mars 2011 à 10:01
Bonjour Mugi,

Je te remercie pour ton aide, ça fonctionne c'est juste parfait.
J'ai juste changé le dernier élément car en fait ma feuille cible est masquée :

Sheets(vCentrale).Select par Sheets(vCentrale).Visible = True

Grâce à toi, j'ai réalisé un grand pas en avant dans mon projet et c'est super... merci merci merci ;)

BAT
Xalinys
0
Rejoignez-nous