Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir Nemroth
au niveau du code de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
.... Ta macro
End Sub
--
@+
Xav
"Nemroth" a écrit dans le message de news:Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir Nemroth
au niveau du code de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
.... Ta macro
End Sub
--
@+
Xav
"Nemroth" <nemroth@wanadoo.fr> a écrit dans le message de news:
413F573F.EAC51533@wanadoo.fr...
Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir Nemroth
au niveau du code de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
.... Ta macro
End Sub
--
@+
Xav
"Nemroth" a écrit dans le message de news:Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir,
1ère solution (pas terrible) ::(
En la regardant très souvent
2de solution (moyen) ;-|
En plaçant juste à côté ou une autre feuille
la même valeur qui ne change pas..
3ème solution(mieux) :-)
En plaçant dans le module de feuille
une procèdure worksheet_change:
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address & "a changé"
End Sub
'*****
.
Pouer essayer cette procèdure:
Tu copie de '***** à '*****
tu retourne dans Excel tu appuies alt+f11
VBA s'ouvre
puis tu fais Ctrl+r
pour afficher Explorateur de projet
dblclic sur l'icône de feuil1 qui est dedans
puis tu colles cela dans le module vide qui est affiché.
Tu re fermes la fenêtre de VB.
Tu entres une valeur dans feuil1
Mais au bout d'un moment cela va ennerver!
Alors si tu veux , tu peux préciser mieux.
Exemple avec une seule cellule
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
'****
LeSteph
"Nemroth" a écrit dans le message de
news:Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir,
1ère solution (pas terrible) ::(
En la regardant très souvent
2de solution (moyen) ;-|
En plaçant juste à côté ou une autre feuille
la même valeur qui ne change pas..
3ème solution(mieux) :-)
En plaçant dans le module de feuille
une procèdure worksheet_change:
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address & "a changé"
End Sub
'*****
.
Pouer essayer cette procèdure:
Tu copie de '***** à '*****
tu retourne dans Excel tu appuies alt+f11
VBA s'ouvre
puis tu fais Ctrl+r
pour afficher Explorateur de projet
dblclic sur l'icône de feuil1 qui est dedans
puis tu colles cela dans le module vide qui est affiché.
Tu re fermes la fenêtre de VB.
Tu entres une valeur dans feuil1
Mais au bout d'un moment cela va ennerver!
Alors si tu veux , tu peux préciser mieux.
Exemple avec une seule cellule
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
'****
LeSteph
"Nemroth" <nemroth@wanadoo.fr> a écrit dans le message de
news:413F573F.EAC51533@wanadoo.fr...
Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Bonsoir,
1ère solution (pas terrible) ::(
En la regardant très souvent
2de solution (moyen) ;-|
En plaçant juste à côté ou une autre feuille
la même valeur qui ne change pas..
3ème solution(mieux) :-)
En plaçant dans le module de feuille
une procèdure worksheet_change:
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address & "a changé"
End Sub
'*****
.
Pouer essayer cette procèdure:
Tu copie de '***** à '*****
tu retourne dans Excel tu appuies alt+f11
VBA s'ouvre
puis tu fais Ctrl+r
pour afficher Explorateur de projet
dblclic sur l'icône de feuil1 qui est dedans
puis tu colles cela dans le module vide qui est affiché.
Tu re fermes la fenêtre de VB.
Tu entres une valeur dans feuil1
Mais au bout d'un moment cela va ennerver!
Alors si tu veux , tu peux préciser mieux.
Exemple avec une seule cellule
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
'****
LeSteph
"Nemroth" a écrit dans le message de
news:Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
Merci LeSteph,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
est exactement ce qu'il me faut.
Merci
Bonsoir,
1ère solution (pas terrible) ::(
En la regardant très souvent
2de solution (moyen) ;-|
En plaçant juste à côté ou une autre feuille
la même valeur qui ne change pas..
3ème solution(mieux) :-)
En plaçant dans le module de feuille
une procèdure worksheet_change:
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address & "a changé"
End Sub
'*****
.
Pouer essayer cette procèdure:
Tu copie de '***** à '*****
tu retourne dans Excel tu appuies alt+f11
VBA s'ouvre
puis tu fais Ctrl+r
pour afficher Explorateur de projet
dblclic sur l'icône de feuil1 qui est dedans
puis tu colles cela dans le module vide qui est affiché.
Tu re fermes la fenêtre de VB.
Tu entres une valeur dans feuil1
Mais au bout d'un moment cela va ennerver!
Alors si tu veux , tu peux préciser mieux.
Exemple avec une seule cellule
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
'****
LeSteph
"Nemroth" a écrit dans le message de
news:Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule
Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
--
Pour me répondre en BAL, retirer le nospam...
Merci LeSteph,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
est exactement ce qu'il me faut.
Merci
Bonsoir,
1ère solution (pas terrible) ::(
En la regardant très souvent
2de solution (moyen) ;-|
En plaçant juste à côté ou une autre feuille
la même valeur qui ne change pas..
3ème solution(mieux) :-)
En plaçant dans le module de feuille
une procèdure worksheet_change:
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address & "a changé"
End Sub
'*****
.
Pouer essayer cette procèdure:
Tu copie de '***** à '*****
tu retourne dans Excel tu appuies alt+f11
VBA s'ouvre
puis tu fais Ctrl+r
pour afficher Explorateur de projet
dblclic sur l'icône de feuil1 qui est dedans
puis tu colles cela dans le module vide qui est affiché.
Tu re fermes la fenêtre de VB.
Tu entres une valeur dans feuil1
Mais au bout d'un moment cela va ennerver!
Alors si tu veux , tu peux préciser mieux.
Exemple avec une seule cellule
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
'****
LeSteph
"Nemroth" <nemroth@wanadoo.fr> a écrit dans le message de
news:413F573F.EAC51533@wanadoo.fr...
Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule
Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
--
Pour me répondre en BAL, retirer le nospam...
Merci LeSteph,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
est exactement ce qu'il me faut.
Merci
Bonsoir,
1ère solution (pas terrible) ::(
En la regardant très souvent
2de solution (moyen) ;-|
En plaçant juste à côté ou une autre feuille
la même valeur qui ne change pas..
3ème solution(mieux) :-)
En plaçant dans le module de feuille
une procèdure worksheet_change:
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address & "a changé"
End Sub
'*****
.
Pouer essayer cette procèdure:
Tu copie de '***** à '*****
tu retourne dans Excel tu appuies alt+f11
VBA s'ouvre
puis tu fais Ctrl+r
pour afficher Explorateur de projet
dblclic sur l'icône de feuil1 qui est dedans
puis tu colles cela dans le module vide qui est affiché.
Tu re fermes la fenêtre de VB.
Tu entres une valeur dans feuil1
Mais au bout d'un moment cela va ennerver!
Alors si tu veux , tu peux préciser mieux.
Exemple avec une seule cellule
'*****
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
MsgBox Target.Address & "a changé"
End If
End Sub
'****
LeSteph
"Nemroth" a écrit dans le message de
news:Bonsoir à tous.
Comment peut-on détecter un changement de valeur dans une cellule
Excel
SVP ?
Par avance merci
--
Pour me répondre en BAL, retirer le nospam...
--
Pour me répondre en BAL, retirer le nospam...
Cette solution ne te dit pas si le contenu de la cellule a changé mais si,
simplement, une saisie quelconque a été faite ...même si c'est la même
valeur !
Il conviendrait donc, à l'ouverture du classeur, de mémoriser la valeur de
la
cellule et seulement ensuite, se servir de l'évènement "Worksheet_Change"
pour
détecter un changement !
Exemple pour la cellule A1 de "Feuil1"
Dans le module de ThisWorkbook :
Private Sub Workbook_Open()
mémo
End Sub
Dans un module ordinaire :
Public laVar
Sub mémo()
laVar = [Feuil1!A1]
End Sub
Dans le module de "Feuil1" :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
If zz <> laVar Then
MsgBox "La valeur de A1a changé !" & vbLf & "Ancienne valeur : " _
& laVar & vbLf & "Nouvelle valeur : " & zz
laVar = zz
End If
End Sub
Enregistrer > fermer > réouvrir > tester
AV
Cette solution ne te dit pas si le contenu de la cellule a changé mais si,
simplement, une saisie quelconque a été faite ...même si c'est la même
valeur !
Il conviendrait donc, à l'ouverture du classeur, de mémoriser la valeur de
la
cellule et seulement ensuite, se servir de l'évènement "Worksheet_Change"
pour
détecter un changement !
Exemple pour la cellule A1 de "Feuil1"
Dans le module de ThisWorkbook :
Private Sub Workbook_Open()
mémo
End Sub
Dans un module ordinaire :
Public laVar
Sub mémo()
laVar = [Feuil1!A1]
End Sub
Dans le module de "Feuil1" :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
If zz <> laVar Then
MsgBox "La valeur de A1a changé !" & vbLf & "Ancienne valeur : " _
& laVar & vbLf & "Nouvelle valeur : " & zz
laVar = zz
End If
End Sub
Enregistrer > fermer > réouvrir > tester
AV
Cette solution ne te dit pas si le contenu de la cellule a changé mais si,
simplement, une saisie quelconque a été faite ...même si c'est la même
valeur !
Il conviendrait donc, à l'ouverture du classeur, de mémoriser la valeur de
la
cellule et seulement ensuite, se servir de l'évènement "Worksheet_Change"
pour
détecter un changement !
Exemple pour la cellule A1 de "Feuil1"
Dans le module de ThisWorkbook :
Private Sub Workbook_Open()
mémo
End Sub
Dans un module ordinaire :
Public laVar
Sub mémo()
laVar = [Feuil1!A1]
End Sub
Dans le module de "Feuil1" :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
If zz <> laVar Then
MsgBox "La valeur de A1a changé !" & vbLf & "Ancienne valeur : " _
& laVar & vbLf & "Nouvelle valeur : " & zz
laVar = zz
End If
End Sub
Enregistrer > fermer > réouvrir > tester
AV
Salut
variante sans module open
Private Sub Worksheet_Change(ByVal Target As Range)
If target.Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False
rep = Target.Value
Application.Undo
rep1 = Target.Value
Application.Undo
If rep <> rep1 Then rep2 = MsgBox ("La valeur de A1a changé !" & vbLf &
"Ancienne valeur : " _
& rep1 & vbLf & "Nouvelle valeur : " & rep)
Application.EnableEvents = True
End Sub
a+
rural thierry
"AV" a écrit dans le message de news:Cette solution ne te dit pas si le contenu de la cellule a changé mais
si,
simplement, une saisie quelconque a été faite ...même si c'est la même
valeur !Il conviendrait donc, à l'ouverture du classeur, de mémoriser la valeur
de
lacellule et seulement ensuite, se servir de l'évènement
"Worksheet_Change"
pourdétecter un changement !
Exemple pour la cellule A1 de "Feuil1"
Dans le module de ThisWorkbook :
Private Sub Workbook_Open()
mémo
End Sub
Dans un module ordinaire :
Public laVar
Sub mémo()
laVar = [Feuil1!A1]
End Sub
Dans le module de "Feuil1" :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
If zz <> laVar Then
MsgBox "La valeur de A1a changé !" & vbLf & "Ancienne valeur : " _
& laVar & vbLf & "Nouvelle valeur : " & zz
laVar = zz
End If
End Sub
Enregistrer > fermer > réouvrir > tester
AV
Salut
variante sans module open
Private Sub Worksheet_Change(ByVal Target As Range)
If target.Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False
rep = Target.Value
Application.Undo
rep1 = Target.Value
Application.Undo
If rep <> rep1 Then rep2 = MsgBox ("La valeur de A1a changé !" & vbLf &
"Ancienne valeur : " _
& rep1 & vbLf & "Nouvelle valeur : " & rep)
Application.EnableEvents = True
End Sub
a+
rural thierry
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de news:
OFdhScilEHA.2968@TK2MSFTNGP14.phx.gbl...
Cette solution ne te dit pas si le contenu de la cellule a changé mais
si,
simplement, une saisie quelconque a été faite ...même si c'est la même
valeur !
Il conviendrait donc, à l'ouverture du classeur, de mémoriser la valeur
de
la
cellule et seulement ensuite, se servir de l'évènement
"Worksheet_Change"
pour
détecter un changement !
Exemple pour la cellule A1 de "Feuil1"
Dans le module de ThisWorkbook :
Private Sub Workbook_Open()
mémo
End Sub
Dans un module ordinaire :
Public laVar
Sub mémo()
laVar = [Feuil1!A1]
End Sub
Dans le module de "Feuil1" :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
If zz <> laVar Then
MsgBox "La valeur de A1a changé !" & vbLf & "Ancienne valeur : " _
& laVar & vbLf & "Nouvelle valeur : " & zz
laVar = zz
End If
End Sub
Enregistrer > fermer > réouvrir > tester
AV
Salut
variante sans module open
Private Sub Worksheet_Change(ByVal Target As Range)
If target.Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False
rep = Target.Value
Application.Undo
rep1 = Target.Value
Application.Undo
If rep <> rep1 Then rep2 = MsgBox ("La valeur de A1a changé !" & vbLf &
"Ancienne valeur : " _
& rep1 & vbLf & "Nouvelle valeur : " & rep)
Application.EnableEvents = True
End Sub
a+
rural thierry
"AV" a écrit dans le message de news:Cette solution ne te dit pas si le contenu de la cellule a changé mais
si,
simplement, une saisie quelconque a été faite ...même si c'est la même
valeur !Il conviendrait donc, à l'ouverture du classeur, de mémoriser la valeur
de
lacellule et seulement ensuite, se servir de l'évènement
"Worksheet_Change"
pourdétecter un changement !
Exemple pour la cellule A1 de "Feuil1"
Dans le module de ThisWorkbook :
Private Sub Workbook_Open()
mémo
End Sub
Dans un module ordinaire :
Public laVar
Sub mémo()
laVar = [Feuil1!A1]
End Sub
Dans le module de "Feuil1" :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
If zz <> laVar Then
MsgBox "La valeur de A1a changé !" & vbLf & "Ancienne valeur : " _
& laVar & vbLf & "Nouvelle valeur : " & zz
laVar = zz
End If
End Sub
Enregistrer > fermer > réouvrir > tester
AV