Private Sub CheckBox1_Click() If CheckBox1 Then MsgBox "mpfe" End Sub
'Cordialement.
lSteph
Pierre.M avait énoncé :
Bonsoir a tous,
Quelqu'un saurait-il m'aider pour ecrire les codes suivants:
1. Comment declencher une macro quand on coche une case a cocher, et seulement quand on la coche (click() ne semble pas convenir...)?
2. Comment declencher une macro quand la valeur de A1 devient <1000?
Merci beaucoup.
Pierre
-- - -
Garette
Bonsoir,
Pour le changement de valeur dans une cellule :
Dim X Private Sub Worksheet_Change(ByVal Target As Range) If X <> Range("A1") And Range("A1") < 1000 Then MsgBox "- 1000" X = Range("A1") End Sub
Le message n'apparait que qd la valeur est changée. Si on tape 2000 en A1 => pas de message Si on tape 100 en A1 => message Si on tape à nouveau 100 en A1 => pas message
Bonsoir,
Pour le changement de valeur dans une cellule :
Dim X
Private Sub Worksheet_Change(ByVal Target As Range)
If X <> Range("A1") And Range("A1") < 1000 Then MsgBox "- 1000"
X = Range("A1")
End Sub
Le message n'apparait que qd la valeur est changée.
Si on tape 2000 en A1 => pas de message
Si on tape 100 en A1 => message
Si on tape à nouveau 100 en A1 => pas message
Dim X Private Sub Worksheet_Change(ByVal Target As Range) If X <> Range("A1") And Range("A1") < 1000 Then MsgBox "- 1000" X = Range("A1") End Sub
Le message n'apparait que qd la valeur est changée. Si on tape 2000 en A1 => pas de message Si on tape 100 en A1 => message Si on tape à nouveau 100 en A1 => pas message
lSteph
Pour le 2 plusieurs Hypothèses Si macro juste pour être alerté autant utiliser Menu Format Mise En Forme Conditionnelle sinon est <1000 ou devient <1000
C'est pas non plus forcément le même événement: par changement de la valeur (saisie)=> Change ou a1 contient une formule => Calculate
Voici un exemple (est inférieur) et sur change Dans le code de la feuille
Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Target, [a1]) If isect Is Nothing Then Exit Sub If [a1] < 1000 Then MsgBox "mpfe" End Sub
'lSteph
Le 30/10/2006, Pierre.M a supposé :
Bonsoir a tous,
Quelqu'un saurait-il m'aider pour ecrire les codes suivants:
1. Comment declencher une macro quand on coche une case a cocher, et seulement quand on la coche (click() ne semble pas convenir...)?
2. Comment declencher une macro quand la valeur de A1 devient <1000?
Merci beaucoup.
Pierre
-- - -
Pour le 2 plusieurs Hypothèses
Si macro juste pour être alerté autant utiliser
Menu Format Mise En Forme Conditionnelle
sinon
est <1000 ou devient <1000
C'est pas non plus forcément le même événement:
par changement de la valeur (saisie)=> Change
ou a1 contient une formule => Calculate
Voici un exemple (est inférieur) et sur change
Dans le code de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range
Set isect = Intersect(Target, [a1])
If isect Is Nothing Then Exit Sub
If [a1] < 1000 Then MsgBox "mpfe"
End Sub
'lSteph
Le 30/10/2006, Pierre.M a supposé :
Bonsoir a tous,
Quelqu'un saurait-il m'aider pour ecrire les codes suivants:
1. Comment declencher une macro quand on coche une case a cocher, et
seulement quand on la coche (click() ne semble pas convenir...)?
2. Comment declencher une macro quand la valeur de A1 devient <1000?
Pour le 2 plusieurs Hypothèses Si macro juste pour être alerté autant utiliser Menu Format Mise En Forme Conditionnelle sinon est <1000 ou devient <1000
C'est pas non plus forcément le même événement: par changement de la valeur (saisie)=> Change ou a1 contient une formule => Calculate
Voici un exemple (est inférieur) et sur change Dans le code de la feuille
Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Target, [a1]) If isect Is Nothing Then Exit Sub If [a1] < 1000 Then MsgBox "mpfe" End Sub
'lSteph
Le 30/10/2006, Pierre.M a supposé :
Bonsoir a tous,
Quelqu'un saurait-il m'aider pour ecrire les codes suivants:
1. Comment declencher une macro quand on coche une case a cocher, et seulement quand on la coche (click() ne semble pas convenir...)?
2. Comment declencher une macro quand la valeur de A1 devient <1000?
Merci beaucoup.
Pierre
-- - -
lSteph
Suite du 2
Cas A1 formule donc par calculate et devient<1000 (faut savoir ce qu'il en est avant) donc ici exemple Feuil1 test à l'ouverture du classeur
'''''dans un module standard Public tstA1 As Boolean
'''''dans thisworkbook Private Sub Workbook_Open() tstA1 = Feuil1.[a1] < 1000 End Sub
'''''dans le code de Feuil1 Private Sub Worksheet_Calculate() If tstA1 Then tstA1 = Feuil1.[a1] < 1000 Else MsgBox "mpfe" tstA1 = Feuil1.[a1] < 1000 End If End Sub
'lSteph
Pierre.M a émis l'idée suivante :
Bonsoir a tous,
Quelqu'un saurait-il m'aider pour ecrire les codes suivants:
1. Comment declencher une macro quand on coche une case a cocher, et seulement quand on la coche (click() ne semble pas convenir...)?
2. Comment declencher une macro quand la valeur de A1 devient <1000?
Merci beaucoup.
Pierre
-- - -
Suite du 2
Cas A1 formule donc par calculate et devient<1000
(faut savoir ce qu'il en est avant)
donc ici exemple Feuil1 test à l'ouverture du classeur
'''''dans un module standard
Public tstA1 As Boolean
'''''dans thisworkbook
Private Sub Workbook_Open()
tstA1 = Feuil1.[a1] < 1000
End Sub
'''''dans le code de Feuil1
Private Sub Worksheet_Calculate()
If tstA1 Then
tstA1 = Feuil1.[a1] < 1000
Else
MsgBox "mpfe"
tstA1 = Feuil1.[a1] < 1000
End If
End Sub
'lSteph
Pierre.M a émis l'idée suivante :
Bonsoir a tous,
Quelqu'un saurait-il m'aider pour ecrire les codes suivants:
1. Comment declencher une macro quand on coche une case a cocher, et
seulement quand on la coche (click() ne semble pas convenir...)?
2. Comment declencher une macro quand la valeur de A1 devient <1000?
Cas A1 formule donc par calculate et devient<1000 (faut savoir ce qu'il en est avant) donc ici exemple Feuil1 test à l'ouverture du classeur
'''''dans un module standard Public tstA1 As Boolean
'''''dans thisworkbook Private Sub Workbook_Open() tstA1 = Feuil1.[a1] < 1000 End Sub
'''''dans le code de Feuil1 Private Sub Worksheet_Calculate() If tstA1 Then tstA1 = Feuil1.[a1] < 1000 Else MsgBox "mpfe" tstA1 = Feuil1.[a1] < 1000 End If End Sub
'lSteph
Pierre.M a émis l'idée suivante :
Bonsoir a tous,
Quelqu'un saurait-il m'aider pour ecrire les codes suivants:
1. Comment declencher une macro quand on coche une case a cocher, et seulement quand on la coche (click() ne semble pas convenir...)?
2. Comment declencher une macro quand la valeur de A1 devient <1000?
Merci beaucoup.
Pierre
-- - -
Pierre.M
Merci a tous les 2 pour votre aide et surtout pour les explications qui permettent de comprendre et surtout d'apprendre.
1. Je suppose que "if checkbox" veut dire "cliquer sur case a cocher", alors comment on dirait "declicker"? Ca peut toujours servir de le savoir, pour lancer un truc sur un declic ;-)
2. En fait l'idee etait la suivante: A1= somme(B1:B10) et sur la meme feuille une case a cocher (CC). J'aimerai lancer un Msgbox dans 2 conditions - si A1<1000 et que je clique sur CC - Si CC est deja cliquee et que A1 devient <1000 Dans tous les autres cas il ne se passe rien.
Je pensai faire ca avec 2 macros separees, mais du coup c'est peut-etre faisable en une fois, non? Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
Merci beaucoup pour la lecon.
Pierre
Merci a tous les 2 pour votre aide et surtout pour les explications qui
permettent de comprendre et surtout d'apprendre.
1. Je suppose que "if checkbox" veut dire "cliquer sur case a cocher",
alors comment on dirait "declicker"? Ca peut toujours servir de le
savoir, pour lancer un truc sur un declic ;-)
2. En fait l'idee etait la suivante:
A1= somme(B1:B10) et sur la meme feuille une case a cocher (CC).
J'aimerai lancer un Msgbox dans 2 conditions
- si A1<1000 et que je clique sur CC
- Si CC est deja cliquee et que A1 devient <1000
Dans tous les autres cas il ne se passe rien.
Je pensai faire ca avec 2 macros separees, mais du coup c'est peut-etre
faisable en une fois, non?
Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
Merci a tous les 2 pour votre aide et surtout pour les explications qui permettent de comprendre et surtout d'apprendre.
1. Je suppose que "if checkbox" veut dire "cliquer sur case a cocher", alors comment on dirait "declicker"? Ca peut toujours servir de le savoir, pour lancer un truc sur un declic ;-)
2. En fait l'idee etait la suivante: A1= somme(B1:B10) et sur la meme feuille une case a cocher (CC). J'aimerai lancer un Msgbox dans 2 conditions - si A1<1000 et que je clique sur CC - Si CC est deja cliquee et que A1 devient <1000 Dans tous les autres cas il ne se passe rien.
Je pensai faire ca avec 2 macros separees, mais du coup c'est peut-etre faisable en une fois, non? Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
Merci beaucoup pour la lecon.
Pierre
lSteph
Bonjour Pierre.M,
1. Checkbox1 renvoie vrai ou faux selon qu''elle se trouve cochée.
ainsi if checkbox1 then msgbox "bonjour" renverra le message bonjour à cette condition
2.
[a1] contient une formule ou une valeur? Tu n'as pas précisé donc je suppose "devient" garde le sens de l'hypothèse émise dans ma précédente proposition. Selon le cas tu as différents différents exemples qui t'ont été donné sur ce fil. l'événement Worksheet_Change(ByVal Target As Range) peut donc cibler (target) la modification directe d'une cellule ou plusieurs cellules et conditioner l'execution d'une macro
Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
l'événement Worksheet_Calculate,sert à détecter un recalcul dans la feuille, mais on peut tester par une variable préaalablement fixée la modification d'une cellule ou plusieurs cellules et conditioner l'execution d'une macro.
( hors propos: la méthode Calculate sert à recalculer lorsqu'on est en mode sur ordre par exemple)
Cordialement.
lSteph
Pierre.M a utilisé son clavier pour écrire :
Merci a tous les 2 pour votre aide et surtout pour les explications qui permettent de comprendre et surtout d'apprendre.
1. Je suppose que "if checkbox" veut dire "cliquer sur case a cocher", alors comment on dirait "declicker"? Ca peut toujours servir de le savoir, pour lancer un truc sur un declic ;-)
2. En fait l'idee etait la suivante: A1= somme(B1:B10) et sur la meme feuille une case a cocher (CC). J'aimerai lancer un Msgbox dans 2 conditions - si A1<1000 et que je clique sur CC - Si CC est deja cliquee et que A1 devient <1000 Dans tous les autres cas il ne se passe rien.
Je pensai faire ca avec 2 macros separees, mais du coup c'est peut-etre faisable en une fois, non? Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
Merci beaucoup pour la lecon.
Pierre
-- - -
Bonjour Pierre.M,
1.
Checkbox1 renvoie vrai ou faux selon qu''elle se trouve cochée.
ainsi
if checkbox1 then msgbox "bonjour"
renverra le message bonjour à cette condition
2.
[a1] contient une formule ou une valeur?
Tu n'as pas précisé donc je suppose "devient" garde le sens de
l'hypothèse émise dans ma précédente proposition.
Selon le cas tu as différents différents exemples qui t'ont été donné
sur ce fil.
l'événement Worksheet_Change(ByVal Target As Range)
peut donc cibler (target) la modification directe d'une cellule ou
plusieurs cellules et conditioner l'execution d'une macro
Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
l'événement Worksheet_Calculate,sert à détecter un recalcul dans la
feuille, mais on peut tester par une variable préaalablement fixée
la modification d'une cellule ou plusieurs cellules et conditioner
l'execution d'une macro.
( hors propos: la méthode Calculate sert à recalculer lorsqu'on est en
mode sur ordre par exemple)
Cordialement.
lSteph
Pierre.M a utilisé son clavier pour écrire :
Merci a tous les 2 pour votre aide et surtout pour les explications qui
permettent de comprendre et surtout d'apprendre.
1. Je suppose que "if checkbox" veut dire "cliquer sur case a cocher", alors
comment on dirait "declicker"? Ca peut toujours servir de le savoir, pour
lancer un truc sur un declic ;-)
2. En fait l'idee etait la suivante:
A1= somme(B1:B10) et sur la meme feuille une case a cocher (CC).
J'aimerai lancer un Msgbox dans 2 conditions
- si A1<1000 et que je clique sur CC
- Si CC est deja cliquee et que A1 devient <1000
Dans tous les autres cas il ne se passe rien.
Je pensai faire ca avec 2 macros separees, mais du coup c'est peut-etre
faisable en une fois, non?
Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
1. Checkbox1 renvoie vrai ou faux selon qu''elle se trouve cochée.
ainsi if checkbox1 then msgbox "bonjour" renverra le message bonjour à cette condition
2.
[a1] contient une formule ou une valeur? Tu n'as pas précisé donc je suppose "devient" garde le sens de l'hypothèse émise dans ma précédente proposition. Selon le cas tu as différents différents exemples qui t'ont été donné sur ce fil. l'événement Worksheet_Change(ByVal Target As Range) peut donc cibler (target) la modification directe d'une cellule ou plusieurs cellules et conditioner l'execution d'une macro
Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
l'événement Worksheet_Calculate,sert à détecter un recalcul dans la feuille, mais on peut tester par une variable préaalablement fixée la modification d'une cellule ou plusieurs cellules et conditioner l'execution d'une macro.
( hors propos: la méthode Calculate sert à recalculer lorsqu'on est en mode sur ordre par exemple)
Cordialement.
lSteph
Pierre.M a utilisé son clavier pour écrire :
Merci a tous les 2 pour votre aide et surtout pour les explications qui permettent de comprendre et surtout d'apprendre.
1. Je suppose que "if checkbox" veut dire "cliquer sur case a cocher", alors comment on dirait "declicker"? Ca peut toujours servir de le savoir, pour lancer un truc sur un declic ;-)
2. En fait l'idee etait la suivante: A1= somme(B1:B10) et sur la meme feuille une case a cocher (CC). J'aimerai lancer un Msgbox dans 2 conditions - si A1<1000 et que je clique sur CC - Si CC est deja cliquee et que A1 devient <1000 Dans tous les autres cas il ne se passe rien.
Je pensai faire ca avec 2 macros separees, mais du coup c'est peut-etre faisable en une fois, non? Pouvez-vous m'expliquer ce qu'on peut faire faire exactement a "calculate"?
Merci beaucoup pour la lecon.
Pierre
-- - -
Pierre.M
Merci beaucoup pour toutes ces explications qui me font bien progresser...
[a1] contient une formule ou une valeur? Tu n'as pas précisé donc je suppose "devient" garde le sens de l'hypothèse émise dans ma précédente proposition. Selon le cas tu as différents différents exemples qui t'ont été donné sur ce fil. l'événement Worksheet_Change(ByVal Target As Range) peut donc cibler (target) la modification directe d'une cellule ou plusieurs cellules et conditioner l'execution d'une macro
[A1] contient une formule (=SOMME(B1:B10)). En fonction de la modification des valeurs de B1:B10, A1 peut donc etre ou devenir <1000.
Je dois donc utiliser Calculate.
Et si A1 contenait une valeur que je modifie "a la main" alors j'utiliserais Change.
C'est bien ca qu'il fallait retenir? Alors je devrais m'en sortir.
Merci encore et bonne journee.
Pierre
Merci beaucoup pour toutes ces explications qui me font bien progresser...
[a1] contient une formule ou une valeur?
Tu n'as pas précisé donc je suppose "devient" garde le sens de
l'hypothèse émise dans ma précédente proposition.
Selon le cas tu as différents différents exemples qui t'ont été donné
sur ce fil.
l'événement Worksheet_Change(ByVal Target As Range)
peut donc cibler (target) la modification directe d'une cellule ou
plusieurs cellules et conditioner l'execution d'une macro
[A1] contient une formule (=SOMME(B1:B10)). En fonction de la
modification des valeurs de B1:B10, A1 peut donc etre ou devenir <1000.
Je dois donc utiliser Calculate.
Et si A1 contenait une valeur que je modifie "a la main" alors
j'utiliserais Change.
C'est bien ca qu'il fallait retenir? Alors je devrais m'en sortir.
Merci beaucoup pour toutes ces explications qui me font bien progresser...
[a1] contient une formule ou une valeur? Tu n'as pas précisé donc je suppose "devient" garde le sens de l'hypothèse émise dans ma précédente proposition. Selon le cas tu as différents différents exemples qui t'ont été donné sur ce fil. l'événement Worksheet_Change(ByVal Target As Range) peut donc cibler (target) la modification directe d'une cellule ou plusieurs cellules et conditioner l'execution d'une macro
[A1] contient une formule (=SOMME(B1:B10)). En fonction de la modification des valeurs de B1:B10, A1 peut donc etre ou devenir <1000.
Je dois donc utiliser Calculate.
Et si A1 contenait une valeur que je modifie "a la main" alors j'utiliserais Change.
C'est bien ca qu'il fallait retenir? Alors je devrais m'en sortir.
Merci encore et bonne journee.
Pierre
lSteph
Re, oui, j'en profite pour rectifier:
'''''dans un module standard Option Explicit Public tstA1 As Boolean
'''''dans thisworkbook Option Explicit Private Sub Workbook_Open() tstA1 = Feuil1.[a1] < 1000 End Sub
'''''dans le code de Feuil1 Option Explicit Private Sub Worksheet_Calculate() If tstA1 Then tstA1 = Feuil1.[a1] < 1000 Else If [a1] < 1000 Then MsgBox "mpfe" tstA1 = Feuil1.[a1] < 1000 End If End If End Sub
'Cordialement. 'lSteph
Merci beaucoup pour toutes ces explications qui me font bien progresser...
[a1] contient une formule ou une valeur? Tu n'as pas précisé donc je suppose "devient" garde le sens de l'hypothèse émise dans ma précédente proposition. Selon le cas tu as différents différents exemples qui t'ont ét é donné sur ce fil. l'événement Worksheet_Change(ByVal Target As Range) peut donc cibler (target) la modification directe d'une cellule ou plusieurs cellules et conditioner l'execution d'une macro
[A1] contient une formule (=SOMME(B1:B10)). En fonction de la modification des valeurs de B1:B10, A1 peut donc etre ou devenir <1000.
Je dois donc utiliser Calculate.
Et si A1 contenait une valeur que je modifie "a la main" alors j'utiliserais Change.
C'est bien ca qu'il fallait retenir? Alors je devrais m'en sortir.
Merci encore et bonne journee.
Pierre
Re,
oui, j'en profite pour rectifier:
'''''dans un module standard
Option Explicit
Public tstA1 As Boolean
'''''dans thisworkbook
Option Explicit
Private Sub Workbook_Open()
tstA1 = Feuil1.[a1] < 1000
End Sub
'''''dans le code de Feuil1
Option Explicit
Private Sub Worksheet_Calculate()
If tstA1 Then
tstA1 = Feuil1.[a1] < 1000
Else
If [a1] < 1000 Then
MsgBox "mpfe"
tstA1 = Feuil1.[a1] < 1000
End If
End If
End Sub
'Cordialement.
'lSteph
Merci beaucoup pour toutes ces explications qui me font bien progresser...
[a1] contient une formule ou une valeur?
Tu n'as pas précisé donc je suppose "devient" garde le sens de
l'hypothèse émise dans ma précédente proposition.
Selon le cas tu as différents différents exemples qui t'ont ét é donné
sur ce fil.
l'événement Worksheet_Change(ByVal Target As Range)
peut donc cibler (target) la modification directe d'une cellule ou
plusieurs cellules et conditioner l'execution d'une macro
[A1] contient une formule (=SOMME(B1:B10)). En fonction de la
modification des valeurs de B1:B10, A1 peut donc etre ou devenir <1000.
Je dois donc utiliser Calculate.
Et si A1 contenait une valeur que je modifie "a la main" alors
j'utiliserais Change.
C'est bien ca qu'il fallait retenir? Alors je devrais m'en sortir.
'''''dans un module standard Option Explicit Public tstA1 As Boolean
'''''dans thisworkbook Option Explicit Private Sub Workbook_Open() tstA1 = Feuil1.[a1] < 1000 End Sub
'''''dans le code de Feuil1 Option Explicit Private Sub Worksheet_Calculate() If tstA1 Then tstA1 = Feuil1.[a1] < 1000 Else If [a1] < 1000 Then MsgBox "mpfe" tstA1 = Feuil1.[a1] < 1000 End If End If End Sub
'Cordialement. 'lSteph
Merci beaucoup pour toutes ces explications qui me font bien progresser...
[a1] contient une formule ou une valeur? Tu n'as pas précisé donc je suppose "devient" garde le sens de l'hypothèse émise dans ma précédente proposition. Selon le cas tu as différents différents exemples qui t'ont ét é donné sur ce fil. l'événement Worksheet_Change(ByVal Target As Range) peut donc cibler (target) la modification directe d'une cellule ou plusieurs cellules et conditioner l'execution d'une macro
[A1] contient une formule (=SOMME(B1:B10)). En fonction de la modification des valeurs de B1:B10, A1 peut donc etre ou devenir <1000.
Je dois donc utiliser Calculate.
Et si A1 contenait une valeur que je modifie "a la main" alors j'utiliserais Change.
C'est bien ca qu'il fallait retenir? Alors je devrais m'en sortir.
Merci encore et bonne journee.
Pierre
Pierre.M
La solution du probleme pose est bien-sur appreciable, mais savoir donner les explications necessaires pour faire avancer la connaissance de l'autre l'est bien plus encore.
Pour ca, merci infiniment. Bon apres-midi.
Pierre
La solution du probleme pose est bien-sur appreciable, mais savoir
donner les explications necessaires pour faire avancer la connaissance
de l'autre l'est bien plus encore.
La solution du probleme pose est bien-sur appreciable, mais savoir donner les explications necessaires pour faire avancer la connaissance de l'autre l'est bien plus encore.