Macro qui s’execute sur une feuille selon une valeur sur une autre feuille

Y compris Power BI, Power Query et toute autre question en lien avec Excel
d
degards
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 19 mai 2015
Version d'Excel : 2013

Message par degards » 17 janvier 2019, 16:59

Bonjour à vos tous !

Je me demandais, et j’ai cherché, si cela était possible d’exécuter une macro sur la feuille "518" suite à une choix fait dans la feuille "Feuille de travail" dans une cellule avec une liste déroulante. Le tout en VBA bien sûr.

Par exemple : H1 feuille "Feuille de travail" contient un choix déroulant. Feuille "518" cellule AD3 est égale à H1 feuille "Feuille de travail" (='Feuille de travail'!H1). Selon le choix fait en H1 sur la feuille "Feuille de travail" une macro doit s’exécuter sur la feuille "518". Cette macro consiste à modifier l’apparence des cellules.

Au début j’avais le choix déroulant dans la cellule AD3 de la feuille "518" et tout s’exécutait correctement. Mais pour différente raison j’ai du créer feuille "Feuille de travail" avec la liste déroulante.

J'aurais donc besoin d'un petit coup de main pour rectifier ce problème.

Merci à l'avance
Copie de 518_Brome.xlsm
(110.91 Kio) Téléchargé 2 fois
Avatar du membre
Dan
Modérateur
Modérateur
Messages : 5'874
Appréciations reçues : 76
Inscrit le : 27 avril 2007
Version d'Excel : 2010, 2000, Mac 2004, 2011

Message par Dan » 17 janvier 2019, 19:09

Bonsoir

LA feuille 518 est la seule impacté par le choix dans la liste déroulante de la feuille de travail ?

Ce serait mieux d'enlever les cellules fusionnées. Jamais bon en VBA cela.

Cordialement
@+ Dan ;)
d
degards
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 19 mai 2015
Version d'Excel : 2013

Message par degards » 17 janvier 2019, 19:14

Oui la feuille 518 est la seule impactée par le choix fait dans la feuille « feuille de travail ».
En ce qui concerne les cellules fusionnées, je n’ai pas le choix tellement, à moins qu’il y ait un moyen d’imprimer deux feuilles de de travail sur la même feuille en recto/verso. À ce moment je pourrais arranger quelque chose.

Merci de votre réponse rapide
Avatar du membre
Dan
Modérateur
Modérateur
Messages : 5'874
Appréciations reçues : 76
Inscrit le : 27 avril 2007
Version d'Excel : 2010, 2000, Mac 2004, 2011

Message par Dan » 17 janvier 2019, 19:31

Re

Il y a plusieurs solutions :
- Soit on duplique le code en le plaçant dans la feuille de travail et en changeant la référence cellule AD3 par H1
- Soit on place cette macro dans THISWORKBOOK en prenant de dire au code que s'il ne se trouve pas sur la feuille de travail ou la feuille 518, le code ne s'exécute pas.

J'ai utilisé la deuxième solution en supprimant le code dans la feuille 518

Votre fichier en retour pour test.
Copie de 518_Brome.xlsm
(109.15 Kio) Téléchargé 6 fois
@+ Dan ;)
d
degards
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 19 mai 2015
Version d'Excel : 2013

Message par degards » 18 janvier 2019, 14:54

J'ai ouvert votre fichier mais rien se passe. Aucune macro semble s'exécuter et mon tableau dans la feuille "518", ne change pas d'apparence. Dans le fond, j'aimerais juste qu'une macro s'exécute sur la feuille "518" selon la valeur de la cellule H1 de la feuille "feuille de travail", est ce que cela est possible ?

Merci encore
Avatar du membre
Dan
Modérateur
Modérateur
Messages : 5'874
Appréciations reçues : 76
Inscrit le : 27 avril 2007
Version d'Excel : 2010, 2000, Mac 2004, 2011

Message par Dan » 19 janvier 2019, 14:17

Re

Effectivement il y avait un souci. J'avais déjà remarqué quelques soucis à l'ouverture.

Le problème du fichier posté venait de vos accents placés dans les codes. A éviter ! tout comme les cellules fusionnées d'ailleurs (15 ans que je dis cela... :( et je ne suis pas le seul...) Dès que vous passez à VBA faut éviter tout cela. A un moment ou un autre on a des bugs assurés.

Pour le fichier, j'ai enlevé les accents dans la liste déroulante et dans le code. Cela devrait fonctionner.
A chaque exécution du code, la cellule AB3 dans la feuille 518 récupère par formule la valeur choisie dans la liste déroulante en feuille de travail.
J'ai laissé les cellules fusionnées pour la liste déroulante et pour la cellule AB3.... A enlever si vous le pouvez.

Je suppose que vous êtes uniquement sous excel Windows ?

Cordialement
Copie de 518_Brome.xlsm
(105.06 Kio) Téléchargé 6 fois
@+ Dan ;)
d
degards
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 19 mai 2015
Version d'Excel : 2013

Message par degards » 19 janvier 2019, 21:45

Merci beaucoup c'est exactement ce que je voulais. Cela semble si simple pour vous. Des conseils pour suivre une formation ?

C'est très très apprécié

Degards
Avatar du membre
Dan
Modérateur
Modérateur
Messages : 5'874
Appréciations reçues : 76
Inscrit le : 27 avril 2007
Version d'Excel : 2010, 2000, Mac 2004, 2011

Message par Dan » 21 janvier 2019, 08:03

Re
Des conseils pour suivre une formation ?
Un premier pas serait de lire le cours VBA réalisé par Sébastien, administrateur du forum.

Si vous voulez acheter un livre, je vous conseille ceux réalisés par J. Walkenbach.

Sinon ne pas oublier l'enregistreur automatique puis modifier le code ensuite. Mon ami Th. Pourtier, décédé aujourd'hui, m'a dit il y a des années qu'il utilisait toujours cette méthode et adaptait ensuite.

Cordialement
@+ Dan ;)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message