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

Comment détecter un évènement pour lancer l'exécution d'une macr o

4 réponses
Avatar
Raymond BUISSON
Je cherche à écrire une macro qui s'exécute lorsqu'on saisie une valeur
numérique dans une cellule donnée d'une feuille EXCEL et je n'y arrive pas.
Je n'arrive pas à faire marcher l'instruction "Private Sub
Worksheet_Change(ByVal Target As Range)".
J'écris la séquence de programmation qu'il faut dans un module de macro et
rien ne se passe.
Je suppose qu'il faut faire une déclaration quelques part dans une fenêtre
EXCEL mais je ne trouve pas où.
Merci de m'aider si quelqu'un le peut.

Cordialement,

Raymond BUISSON

4 réponses

Avatar
Daniel.C
Bonjour.
Mets la macro suivante dans un module standard et exécute-la :

Sub test()
application.EnableEvents=True
End Sub

Si le problème persiste, poste ton code.
Cordialement.
Daniel

Je cherche à écrire une macro qui s'exécute lorsqu'on saisie une valeur
numérique dans une cellule donnée d'une feuille EXCEL et je n'y arrive pas.
Je n'arrive pas à faire marcher l'instruction "Private Sub
Worksheet_Change(ByVal Target As Range)".
J'écris la séquence de programmation qu'il faut dans un module de macro et
rien ne se passe.
Je suppose qu'il faut faire une déclaration quelques part dans une fenêtre
EXCEL mais je ne trouve pas où.
Merci de m'aider si quelqu'un le peut.

Cordialement,

Raymond BUISSON
Avatar
Jacky
Bonjour,

Teste ceci.. (Cellule A1 dans l'exemple)
'------------------
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fin
If Target.Address = "$A$1" And Target.Count = 1 Then
Application.EnableEvents = False
If IsNumeric(Target) Then
MsgBox "La valeur de la cellule " & Target.Address(0, 0) & " est numérique"
Else
MsgBox "La valeur de la cellule " & Target.Address(0, 0) & " est non numérique"
End If
End If
fin:
Application.EnableEvents = True
End Sub
'----------------------------

--
Salutations
JJ


"Raymond BUISSON" a écrit dans le message de news:

Je cherche à écrire une macro qui s'exécute lorsqu'on saisie une valeur
numérique dans une cellule donnée d'une feuille EXCEL et je n'y arrive pas.
Je n'arrive pas à faire marcher l'instruction "Private Sub
Worksheet_Change(ByVal Target As Range)".
J'écris la séquence de programmation qu'il faut dans un module de macro et
rien ne se passe.
Je suppose qu'il faut faire une déclaration quelques part dans une fenêtre
EXCEL mais je ne trouve pas où.
Merci de m'aider si quelqu'un le peut.

Cordialement,

Raymond BUISSON
Avatar
galopin01
Bonjour,
Les Private Sub Worksheet_Change doivent êtres écrites dans le module de la
feuille concernée et non pas dans un module quelconque. (Double clic dans
l'explorateur de projet sur la feuille concernée)
A+

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

Bonjour,

Teste ceci.. (Cellule A1 dans l'exemple)
'------------------
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fin
If Target.Address = "$A$1" And Target.Count = 1 Then
Application.EnableEvents = False
If IsNumeric(Target) Then
MsgBox "La valeur de la cellule " & Target.Address(0, 0) & " est
numérique"
Else
MsgBox "La valeur de la cellule " & Target.Address(0, 0) & " est non
numérique"
End If
End If
fin:
Application.EnableEvents = True
End Sub
'----------------------------

--
Salutations
JJ


"Raymond BUISSON" a écrit dans
le message de news:
Je cherche à écrire une macro qui s'exécute lorsqu'on saisie une valeur
numérique dans une cellule donnée d'une feuille EXCEL et je n'y arrive
pas.
Je n'arrive pas à faire marcher l'instruction "Private Sub
Worksheet_Change(ByVal Target As Range)".
J'écris la séquence de programmation qu'il faut dans un module de macro
et
rien ne se passe.
Je suppose qu'il faut faire une déclaration quelques part dans une
fenêtre
EXCEL mais je ne trouve pas où.
Merci de m'aider si quelqu'un le peut.

Cordialement,

Raymond BUISSON




Avatar
Jacky
Re...
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201004/cij7JcFGZR.xls

--
Salutations
JJ


"Jacky" a écrit dans le message de news:
Bonjour,

Teste ceci.. (Cellule A1 dans l'exemple)
'------------------
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo fin
If Target.Address = "$A$1" And Target.Count = 1 Then
Application.EnableEvents = False
If IsNumeric(Target) Then
MsgBox "La valeur de la cellule " & Target.Address(0, 0) & " est numérique"
Else
MsgBox "La valeur de la cellule " & Target.Address(0, 0) & " est non numérique"
End If
End If
fin:
Application.EnableEvents = True
End Sub
'----------------------------

--
Salutations
JJ


"Raymond BUISSON" a écrit dans le message de news:

Je cherche à écrire une macro qui s'exécute lorsqu'on saisie une valeur
numérique dans une cellule donnée d'une feuille EXCEL et je n'y arrive pas.
Je n'arrive pas à faire marcher l'instruction "Private Sub
Worksheet_Change(ByVal Target As Range)".
J'écris la séquence de programmation qu'il faut dans un module de macro et
rien ne se passe.
Je suppose qu'il faut faire une déclaration quelques part dans une fenêtre
EXCEL mais je ne trouve pas où.
Merci de m'aider si quelqu'un le peut.

Cordialement,

Raymond BUISSON