macro à déclenchement automatique

ptitmorgan01

XLDnaute Nouveau
Bonjour,

J’ai un tableau avec des cellules qui ont des couleurs de fonds pour signaler l'avancement du projet comme un feu tricolore (rouge, orange et vert).

J'ai mis le code suivant qui me permet de récupérer la valeur correspondant au fond de la cellule:

Function couleur(cellule As Range) As Integer
couleur = cellule.Interior.ColorIndex
End Function

Dans une autre colonne ou je souhaite obtenir la valeur attendu j'ai mis =couleur(G2)

Mon problème est que je dois cliquer sur la cellule et faire entrer pour recalculer la valeur. Je souhaiterai que la valeur change automatiquement dés que la couleur de fond change.

Je vous remercie par avance pour votre aide.

NB: J'ai de bonne connaissance en Excel mais aucune en macro.
 

job75

XLDnaute Barbatruc
Re : macro à déclenchement automatique

Bonjour ptitmorgan01, jp14,

@ jp14 : le changement de format d'une cellule n'entraine pas le recalcul de la feuille.

Donc même volatiles les fonctions ne sont pas recalculées. Il faut appuyer sur la touche F9 pour cela.

A+
 

ptitmorgan01

XLDnaute Nouveau
Re : macro à déclenchement automatique

Merci beaucoup pour votre aide.

En effet l'ajout de la ligne n'a rien changé pour moi.

Par contre vu l'utilisation que j'ai du feuillet, je peux contourner le pb si il est possible de lancer le code lorsque je clique sur l'onglet suivant car je me sert des chiffres pour l'onglet suivant....

J'aimerai savoir également si je fais un tableau sur la feuille suivante, est ce que je peux faire une sorte de filtre automatique. Mon objectif est de faire passer un chantier de feuille en feuille (feuille 1: chantier en cours de fab et feuille 2 chantier en cours de pose). J'ai essayé avec le filtre automatique sur excel mais le problème est que si une valeur change je dois cliquer sur le haut de ma colonne et faire afficher tout puis refiltrer avec la valeur pour avoir une actualisation.

Merci vraiment pour votre aide.

NB: je peux mettre une ebauche de tableau en ligne pour vous expliquez. Merci de me dire comment faire.
 

jp14

XLDnaute Barbatruc
Re : macro à déclenchement automatique

Bonjour ptitmorgan01, job75

Bonjour ptitmorgan01, jp14,

@ jp14 : le changement de format d'une cellule n'entraine pas le recalcul de la feuille.
Donc même volatiles les fonctions ne sont pas recalculées. Il faut appuyer sur la touche F9 pour cela.

A+
Tout à fait d'accord le changement de couleur n'entraine pas le mise à jour du code de la couleur, par contre toute modification d'une valeur dans la feuille entraine cette mise à jour, ce qui n'est pas la cas si on a omis "application.volatile".

Pour résoudre le problème
il faudrait dans le tableau un changement de valeur pour lancer le calcul de la fonction,
ou lancer le calcul par une macro évènementielle comme ci dessous.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub


JP
 

ptitmorgan01

XLDnaute Nouveau
Re : macro à déclenchement automatique

Bonjour,
merci pour le code. En effet maintenant quand je met une nouvelle valeur, la fonction se déclenche. Est ce que je pourrais réaliser un déclenchement à l'ouverture des 2 autres feuilles du fichier?
Merci par avance

NB: J'ai ajouté la pièce jointe avec ce que j'ai fait et ce qui marche pas.

Merci beauoup.
 

Pièces jointes

  • tableau.zip
    47 KB · Affichages: 68
  • tableau.zip
    47 KB · Affichages: 68
  • tableau.zip
    47 KB · Affichages: 70
Dernière édition:

jp14

XLDnaute Barbatruc
Re : macro à déclenchement automatique

Bonjour

La procédure suivante doit se mettre dans les feuilles.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub


Il faudrait écrire dans "ThisWorkbook"
procédure lancé au changement de valeur dans une feuille
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Calculate
End Sub
ou
Procédure lancé au changement de cellule dans une feuille.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Calculate
End Sub

A tester
 

ptitmorgan01

XLDnaute Nouveau
Re : macro à déclenchement automatique

merci beaucoup pour ces renseignements.

En effet maintenant dés que je clic dans une autre cellule, j'ai bien la valeur qui change.

Par contre je vais ouvrir un autre sujet pour que mon filtre automatique s'actualise.

En tous cas, merci beaucoup pour votre aide. C'est rare de trouver un véritable esprit de communauté.

@bientôt
 

Discussions similaires

Réponses
7
Affichages
790

Statistiques des forums

Discussions
312 472
Messages
2 088 712
Membres
103 930
dernier inscrit
Jibo