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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21618241
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
Jacky
Le #21618341
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"
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
galopin01
Le #21620021
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"
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" 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




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

--
Salutations
JJ


"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"
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




Publicité
Poster une réponse
Anonyme