Exécuter une macro quand la cellule change [Résolu/Fermé]

Signaler
Messages postés
13
Date d'inscription
mercredi 27 juin 2012
Statut
Membre
Dernière intervention
20 août 2012
-
Messages postés
17139
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 juillet 2020
-
Bonjour,

J'ai une macro de mise en forme d'un tableau (ajout/suppression de couleurs etc).

J'ai une seule cellule à modifier pour que mon tableau se transforme.
Or le tableau ne se met pas en forme à chaque modification de la cellule.

Comment puis-je ordonner à la macro de s'exécuter à chaque modification de la-dite cellule?

Merci

9 réponses

Messages postés
17139
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 juillet 2020
4 134
Re,

un peu normal, tu ne m'as pas confirmé la cellule de déclenchement, en supposant qu'il s'agisse de la cellule A1, fait un clic droit sur l'onglet de ta Sheet1 et colle ce code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Call FormatTab
End If
End Sub
9
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59361 internautes nous ont dit merci ce mois-ci

Messages postés
13
Date d'inscription
mercredi 27 juin 2012
Statut
Membre
Dernière intervention
20 août 2012
2
Re,

Merci je viens de comprendre qu'il fallait appliquer le code dans Sheet1, et non pas dans un module...!
Messages postés
15241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
16 juillet 2020
1 310
Messages postés
17139
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 juillet 2020
4 134
Salut,

Pour avoir une réponse précise, il faudrait voir ton fichier ou avec le code existant voir s'il est dans un module, ensuite il faudra écrire un bout de code dans les propriétès de la feuille pour déclencher la macro genre

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C3")) Is Nothing Then
'ici le nom de ta macro précéde de Call
End If
End Sub
Messages postés
13
Date d'inscription
mercredi 27 juin 2012
Statut
Membre
Dernière intervention
20 août 2012
2
https://www.cjoint.com/?BHnrnKRqmYm

Voici un fichier exemple qui explique un peu comment mon tableau fonctionne...

@f894009 : merci pour le lien j'ai essayé mais je n'arrive pas à intégrer les codes donnés...

@Mike-31 : je ne connais pas le fonctionnement des modules, et c'est peut-être pour cela que quand j'integre ce code "Worksheet_Change", il ne se passe rien de plus qu'avant.

Merci d'avance.
Messages postés
17139
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 juillet 2020
4 134
Re,

dans ton tableau, ce n'est pas la cellule C3 qui change, et qui décllenchera la macro c'est la A1, c'est bien cela
Messages postés
8128
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
24 juin 2020
1 436
Bonjour,

Plutôt que d'utiliser une macro, peut-être qu'une simple formule pourrait convenir, par exemple en I8 :
=SI($A$20=1;TEXTE(G7/E7;"# ##0%");TEXTE(G7-E7;"# ##0,0\ [$pts]"))
Messages postés
17139
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 juillet 2020
4 134
Salut Patrice,

Ah oui tout à fait, je n'avais pas interprété la macro

cordialement
Messages postés
13
Date d'inscription
mercredi 27 juin 2012
Statut
Membre
Dernière intervention
20 août 2012
2
Bonjour,

Déjà, merci pour vos propositions.
@Mike : j'intègre ta nouvelle macro dans mon fichier mais rien ne change...la macro ne se lance pas à chaque changement de valeur de la liste déroulante (???)

@Patrice : ca peut être une idée, je vais essayer de le faire sans macro mais mon tableau de base possède énormément de critère différents dans la liste déroulante ; j'ai bien peur de manquer de SI(

Merci à vous
Messages postés
8128
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
24 juin 2020
1 436
Bonjour,

mon tableau de base possède énormément de critère différents dans la liste déroulante ; j'ai bien peur de manquer de SI(

Énormément, c'est certainement beaucoup, mais Excel , lui aussi, offre énormément de possibilités avec ,entre autres, des formules spécialisées dans les bases de données. Tant qu'il s'agit de calculs, on est rarement obligé de faire appel au VBA (mais c'est parfois plus simple !).
Messages postés
17139
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 juillet 2020
4 134
Re,

Surtout que le nombre d'imbrication si n'a jamais été un problème pour Excel, il est simplement illimité voir l'astuce que j'ai déposé ici
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.