Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

déclencher une macro à partir d'une cellule

3 réponses
Avatar
Michel Samoey
Bonjour et bonne année,

Je suis nouveau sur ce groupe, j'ai feuilleté rapidement les fils précédents
des fois que mes pb y soit mentionné mais je n'ai rien vu .

J'ai trois questions
1) peut on à partir d'une valeur dans une cellule déclencher une macro ?
But : changer la couleur de fond d'un graphique quand une cellule passe à 1

2) pour la macro j'ai :
ActiveSheet.ChartObjects("Graphique 23").Activate
ActiveChart.PlotArea.Interior.ColorIndex = 29

Comment réécrire cette macro pour que le graphique n'apparraisse pas
sélectionné ?
J'ai tenté :
ActiveSheet.ChartObjects("Graphique 23").PlotArea.Interior.ColorIndex = 29
mais mon écriture doit être mauvaise.

3) Comment faire pour recalculer toutes les x secondes ?
But : afficher l'heure actuelle dans une cellule toutes les x secondes

Merci d'avance

Cordialement
Michel

3 réponses

Avatar
JB
1/

a/ Si saisie de 1 dans C2:
Private Sub Worksheet_Change(ByVal Target As Range)
If [C2] = 1 Then
MsgBox "C2=1"
End If
End Sub

b/Si C2 contient une formule:

Private Sub Worksheet_Calculate()
If [C2] = 1 Then
MsgBox "C2=1"
End If
End Sub

3/ Affiche l'heure en A1 toutes les secondes:

Dim temps
Sub majHeure()
ThisWorkbook.Sheets("feuil1").[A1] = Now
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub

Sub auto_open()
majHeure
End Sub

Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub

http://boisgontierjacques.free.fr/fichiers/OnTimeHeure.xls

JB

On 13 jan, 13:03, "Michel Samoey" wrote:
Bonjour et bonne année,

Je suis nouveau sur ce groupe, j'ai feuilleté rapidement les fils préc édents
des fois que mes pb y soit mentionné mais je n'ai rien vu .

 J'ai trois questions
1) peut on à partir d'une valeur dans une cellule déclencher une macro ?
But : changer la couleur de fond d'un graphique quand une cellule passe à 1

2) pour la macro j'ai :
ActiveSheet.ChartObjects("Graphique 23").Activate
ActiveChart.PlotArea.Interior.ColorIndex = 29

Comment réécrire cette macro pour que le graphique n'apparraisse pas
sélectionné ?
J'ai tenté :
 ActiveSheet.ChartObjects("Graphique 23").PlotArea.Interior.ColorIndex = 29
mais mon écriture doit être mauvaise.

3) Comment faire pour recalculer toutes les x secondes ?
But : afficher l'heure actuelle dans une cellule toutes les x secondes

Merci d'avance

Cordialement
Michel


Avatar
Michel Samoey
Bonjour,
Ok ça marche pour l'heure "now" Merci

mais j'ai un pb avec la modif de C2
le message apparaît quand j'appelle la macro mais je désirerais que la macro
se réalise au moment de la modification de C2.

Va falloir que je cherche à comprendre les modules et les différents types
de "sub".
Y a t'il un endroit particulier pour mettre cette macro ? Pourquoi le
"private sub"?

Cordialement
Michel

"JB" a écrit dans le message de news:



1/

a/ Si saisie de 1 dans C2:
Private Sub Worksheet_Change(ByVal Target As Range)
If [C2] = 1 Then
MsgBox "C2=1"
End If
End Sub

b/Si C2 contient une formule:

Private Sub Worksheet_Calculate()
If [C2] = 1 Then
MsgBox "C2=1"
End If
End Sub

3/ Affiche l'heure en A1 toutes les secondes:

Dim temps
Sub majHeure()
ThisWorkbook.Sheets("feuil1").[A1] = Now
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub

Sub auto_open()
majHeure
End Sub

Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub

http://boisgontierjacques.free.fr/fichiers/OnTimeHeure.xls

JB

On 13 jan, 13:03, "Michel Samoey" wrote:
Bonjour et bonne année,

Je suis nouveau sur ce groupe, j'ai feuilleté rapidement les fils
précédents
des fois que mes pb y soit mentionné mais je n'ai rien vu .

J'ai trois questions
1) peut on à partir d'une valeur dans une cellule déclencher une macro ?
But : changer la couleur de fond d'un graphique quand une cellule passe à
1

2) pour la macro j'ai :
ActiveSheet.ChartObjects("Graphique 23").Activate
ActiveChart.PlotArea.Interior.ColorIndex = 29

Comment réécrire cette macro pour que le graphique n'apparraisse pas
sélectionné ?
J'ai tenté :
ActiveSheet.ChartObjects("Graphique 23").PlotArea.Interior.ColorIndex = 29
mais mon écriture doit être mauvaise.

3) Comment faire pour recalculer toutes les x secondes ?
But : afficher l'heure actuelle dans une cellule toutes les x secondes

Merci d'avance

Cordialement
Michel


Avatar
Michel Samoey
Toutes mes excuses, pour C2 ça fonctionne.
Merci
Cordialement
Michel

"Michel Samoey" a écrit dans le message de news:
478a2a0a$0$867$
Bonjour,
Ok ça marche pour l'heure "now" Merci

mais j'ai un pb avec la modif de C2
le message apparaît quand j'appelle la macro mais je désirerais que la
macro se réalise au moment de la modification de C2.

Va falloir que je cherche à comprendre les modules et les différents types
de "sub".
Y a t'il un endroit particulier pour mettre cette macro ? Pourquoi le
"private sub"?

Cordialement
Michel

"JB" a écrit dans le message de news:



1/

a/ Si saisie de 1 dans C2:
Private Sub Worksheet_Change(ByVal Target As Range)
If [C2] = 1 Then
MsgBox "C2=1"
End If
End Sub

b/Si C2 contient une formule:

Private Sub Worksheet_Calculate()
If [C2] = 1 Then
MsgBox "C2=1"
End If
End Sub

3/ Affiche l'heure en A1 toutes les secondes:

Dim temps
Sub majHeure()
ThisWorkbook.Sheets("feuil1").[A1] = Now
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub

Sub auto_open()
majHeure
End Sub

Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub

http://boisgontierjacques.free.fr/fichiers/OnTimeHeure.xls

JB

On 13 jan, 13:03, "Michel Samoey" wrote:
Bonjour et bonne année,

Je suis nouveau sur ce groupe, j'ai feuilleté rapidement les fils
précédents
des fois que mes pb y soit mentionné mais je n'ai rien vu .

J'ai trois questions
1) peut on à partir d'une valeur dans une cellule déclencher une macro ?
But : changer la couleur de fond d'un graphique quand une cellule passe à
1

2) pour la macro j'ai :
ActiveSheet.ChartObjects("Graphique 23").Activate
ActiveChart.PlotArea.Interior.ColorIndex = 29

Comment réécrire cette macro pour que le graphique n'apparraisse pas
sélectionné ?
J'ai tenté :
ActiveSheet.ChartObjects("Graphique 23").PlotArea.Interior.ColorIndex =
29
mais mon écriture doit être mauvaise.

3) Comment faire pour recalculer toutes les x secondes ?
But : afficher l'heure actuelle dans une cellule toutes les x secondes

Merci d'avance

Cordialement
Michel