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

Empêcher le débuty d'une macro si B16 n'est pas à 0

5 réponses
Avatar
Leonard
Bonjour à tous,

J'ai un petit soucis que je ne sais pas du tout résoudre avec le VBA ( pas
assez calé ! ). J'ai une macro qui s'occupe d'imprimer le bilan d'une
production puis de remettre toutes les cellules à 0. Le problème c'est que
de nombreuses personnes travaillent sur le fichier et certaines oublies
d'ajuster des cellules importantes qui doivent impérativement être à 0 pour
que les statistiques soit excat. La question est donc, comment faire pour
empecher le déroulement de la macro si la cellule B16 n'est pas à 0.
J'aimerais qu'un petit userform apparaissent lorsque la cellule B16 n'est
pas à 0 invitant l'utilisateur à mettre la cellule à 0 pour continuer;

Pour moi c'est difficile à faire ( bien que je matrise l'enregistreur de
macro et les userform de base ) mais je sais que sur le forum il y a des
cracks qui m'ont souvent aidé.

Merci d'avnce

5 réponses

Avatar
Nicolas B.
Salut,

empecher le déroulement de la macro si la cellule B16 > n'est pas à 0.


Tu peux y arriver avec une condition (if) :

Sub Macro()
If Range("B16") <> 0 Then
If MsgBox("Voulez vous mettre 0 ?", vbYesNo) = vbNo Then End
End If
MsgBox "Reste de la macro."
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

"Leonard" a écrit dans le message de
news:bvbk8k$eop$
Bonjour à tous,

J'ai un petit soucis que je ne sais pas du tout résoudre avec le VBA ( pas
assez calé ! ). J'ai une macro qui s'occupe d'imprimer le bilan d'une
production puis de remettre toutes les cellules à 0. Le problème c'est que
de nombreuses personnes travaillent sur le fichier et certaines oublies
d'ajuster des cellules importantes qui doivent impérativement être à 0
pour

que les statistiques soit excat. La question est donc, comment faire pour
empecher le déroulement de la macro si la cellule B16 n'est pas à 0.
J'aimerais qu'un petit userform apparaissent lorsque la cellule B16 n'est
pas à 0 invitant l'utilisateur à mettre la cellule à 0 pour continuer;

Pour moi c'est difficile à faire ( bien que je matrise l'enregistreur de
macro et les userform de base ) mais je sais que sur le forum il y a des
cracks qui m'ont souvent aidé.

Merci d'avnce




Avatar
Leonard
Merci !!!

C'est bon j'ai réussi ( enfin c'est pas mon oeuvre ;-) ) seul petite
amélioration que je souhaiterais apporté c'est ne pas donné le choix du oui
et du non mais qu'il affiche OK à la place de OUI NON
J'ai essayé de toucher un peu "vbYesNo)" mais ça ne marche pas si j'essai
de modifier. As tu une soluton ?

En récapitulant ça donnerais :

La cellule B16 n'est pas à 0 vous ne pouvez pas terminer cette série !!

OK

Au lieu de OUI NON

Merci
"Nicolas B." a écrit dans le message de
news:
Salut,

empecher le déroulement de la macro si la cellule B16 > n'est pas à 0.


Tu peux y arriver avec une condition (if) :

Sub Macro()
If Range("B16") <> 0 Then
If MsgBox("Voulez vous mettre 0 ?", vbYesNo) = vbNo Then End
End If
MsgBox "Reste de la macro."
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

"Leonard" a écrit dans le message de
news:bvbk8k$eop$
Bonjour à tous,

J'ai un petit soucis que je ne sais pas du tout résoudre avec le VBA (
pas


assez calé ! ). J'ai une macro qui s'occupe d'imprimer le bilan d'une
production puis de remettre toutes les cellules à 0. Le problème c'est
que


de nombreuses personnes travaillent sur le fichier et certaines oublies
d'ajuster des cellules importantes qui doivent impérativement être à 0
pour

que les statistiques soit excat. La question est donc, comment faire
pour


empecher le déroulement de la macro si la cellule B16 n'est pas à 0.
J'aimerais qu'un petit userform apparaissent lorsque la cellule B16
n'est


pas à 0 invitant l'utilisateur à mettre la cellule à 0 pour continuer;

Pour moi c'est difficile à faire ( bien que je matrise l'enregistreur de
macro et les userform de base ) mais je sais que sur le forum il y a des
cracks qui m'ont souvent aidé.

Merci d'avnce








Avatar
Nicolas B.
Pour afficher un message disant que la valeur a été automatiquement mise à 0
:

Sub Macro()
If Range("B16") <> 0 Then
MsgBox "La valeur à été mise à 0 ?"
Range("B16") = 0
End If
MsgBox "Reste de la macro."
End Sub

Si tu veux juste informer l'utilisateur que la valeur n'est pas à 0 et que
l'exécution de la macro a donc été stoppée (il doit alors inscrire 0
manuellement) :

Sub Macro()
If Range("B16") <> 0 Then
MsgBox "La valeur n'est pas à 0 ?"
End
End If
MsgBox "Reste de la macro."
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

"Leonard" a écrit dans le message de
news:bvdrkt$a36$
Merci !!!

C'est bon j'ai réussi ( enfin c'est pas mon oeuvre ;-) ) seul petite
amélioration que je souhaiterais apporté c'est ne pas donné le choix du
oui

et du non mais qu'il affiche OK à la place de OUI NON
J'ai essayé de toucher un peu "vbYesNo)" mais ça ne marche pas si j'essai
de modifier. As tu une soluton ?

En récapitulant ça donnerais :

La cellule B16 n'est pas à 0 vous ne pouvez pas terminer cette série !!

OK

Au lieu de OUI NON

Merci
"Nicolas B." a écrit dans le message de
news:
Salut,

empecher le déroulement de la macro si la cellule B16 > n'est pas à 0.


Tu peux y arriver avec une condition (if) :

Sub Macro()
If Range("B16") <> 0 Then
If MsgBox("Voulez vous mettre 0 ?", vbYesNo) = vbNo Then End
End If
MsgBox "Reste de la macro."
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

"Leonard" a écrit dans le message de
news:bvbk8k$eop$
Bonjour à tous,

J'ai un petit soucis que je ne sais pas du tout résoudre avec le VBA (



pas
assez calé ! ). J'ai une macro qui s'occupe d'imprimer le bilan d'une
production puis de remettre toutes les cellules à 0. Le problème c'est
que


de nombreuses personnes travaillent sur le fichier et certaines
oublies



d'ajuster des cellules importantes qui doivent impérativement être à 0
pour

que les statistiques soit excat. La question est donc, comment faire
pour


empecher le déroulement de la macro si la cellule B16 n'est pas à 0.
J'aimerais qu'un petit userform apparaissent lorsque la cellule B16
n'est


pas à 0 invitant l'utilisateur à mettre la cellule à 0 pour continuer;

Pour moi c'est difficile à faire ( bien que je matrise l'enregistreur
de



macro et les userform de base ) mais je sais que sur le forum il y a
des



cracks qui m'ont souvent aidé.

Merci d'avnce












Avatar
Leonard
Non l'utilisateur ne peux pas mettre la cellule B16 à 0 manuellement ( elle
est protégé ). B16 est le résultat de plusieurs opérations ( stocks de
plusieurs composants / commande débité ) pour lancer la macro il faut que
tout le stock soit à 0 ( réultat de tous les débits ) Ton programme est bon
puisqu'il detecte si la cellule B16 est bien à 0 pour lancer la macro mais
il faut juste empêcher l'utilisateur de poursuivre la macro. Donc dans ta
formule VBA il faudrait juste remplcé le oui/non affiché dans la msbox par
un ok qui ne lance pas le reste de la macro ( en gros afficher juste non
renommé en OK )

Merci de ton aide précieuse !


"Nicolas B." a écrit dans le message de
news:
Pour afficher un message disant que la valeur a été automatiquement mise à
0

:

Sub Macro()
If Range("B16") <> 0 Then
MsgBox "La valeur à été mise à 0 ?"
Range("B16") = 0
End If
MsgBox "Reste de la macro."
End Sub

Si tu veux juste informer l'utilisateur que la valeur n'est pas à 0 et que
l'exécution de la macro a donc été stoppée (il doit alors inscrire 0
manuellement) :

Sub Macro()
If Range("B16") <> 0 Then
MsgBox "La valeur n'est pas à 0 ?"
End
End If
MsgBox "Reste de la macro."
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

"Leonard" a écrit dans le message de
news:bvdrkt$a36$
Merci !!!

C'est bon j'ai réussi ( enfin c'est pas mon oeuvre ;-) ) seul petite
amélioration que je souhaiterais apporté c'est ne pas donné le choix du
oui

et du non mais qu'il affiche OK à la place de OUI NON
J'ai essayé de toucher un peu "vbYesNo)" mais ça ne marche pas si
j'essai


de modifier. As tu une soluton ?

En récapitulant ça donnerais :

La cellule B16 n'est pas à 0 vous ne pouvez pas terminer cette série !!

OK

Au lieu de OUI NON

Merci
"Nicolas B." a écrit dans le message
de


news:
Salut,

empecher le déroulement de la macro si la cellule B16 > n'est pas à
0.





Tu peux y arriver avec une condition (if) :

Sub Macro()
If Range("B16") <> 0 Then
If MsgBox("Voulez vous mettre 0 ?", vbYesNo) = vbNo Then End
End If
MsgBox "Reste de la macro."
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

"Leonard" a écrit dans le message de
news:bvbk8k$eop$
Bonjour à tous,

J'ai un petit soucis que je ne sais pas du tout résoudre avec le VBA
(





pas
assez calé ! ). J'ai une macro qui s'occupe d'imprimer le bilan
d'une




production puis de remettre toutes les cellules à 0. Le problème
c'est




que
de nombreuses personnes travaillent sur le fichier et certaines
oublies



d'ajuster des cellules importantes qui doivent impérativement être à
0




pour
que les statistiques soit excat. La question est donc, comment faire
pour


empecher le déroulement de la macro si la cellule B16 n'est pas à 0.
J'aimerais qu'un petit userform apparaissent lorsque la cellule B16
n'est


pas à 0 invitant l'utilisateur à mettre la cellule à 0 pour
continuer;





Pour moi c'est difficile à faire ( bien que je matrise
l'enregistreur




de
macro et les userform de base ) mais je sais que sur le forum il y a
des



cracks qui m'ont souvent aidé.

Merci d'avnce
















Avatar
Leonard
C'est bon j'ai trouvé, il faut remplacé vbYesNo par vbOKOnly pour n'avoir
qu'un seul bouton qui arrête la macro si la cellule D16 n'est pas à 0.

Merci pour ton aide précieuse Nicolas !!

"Leonard" a écrit dans le message de
news:bve0j3$fhf$
Non l'utilisateur ne peux pas mettre la cellule B16 à 0 manuellement (
elle

est protégé ). B16 est le résultat de plusieurs opérations ( stocks de
plusieurs composants / commande débité ) pour lancer la macro il faut que
tout le stock soit à 0 ( réultat de tous les débits ) Ton programme est
bon

puisqu'il detecte si la cellule B16 est bien à 0 pour lancer la macro mais
il faut juste empêcher l'utilisateur de poursuivre la macro. Donc dans ta
formule VBA il faudrait juste remplcé le oui/non affiché dans la msbox par
un ok qui ne lance pas le reste de la macro ( en gros afficher juste non
renommé en OK )

Merci de ton aide précieuse !


"Nicolas B." a écrit dans le message de
news:
Pour afficher un message disant que la valeur a été automatiquement mise
à


0
:

Sub Macro()
If Range("B16") <> 0 Then
MsgBox "La valeur à été mise à 0 ?"
Range("B16") = 0
End If
MsgBox "Reste de la macro."
End Sub

Si tu veux juste informer l'utilisateur que la valeur n'est pas à 0 et
que


l'exécution de la macro a donc été stoppée (il doit alors inscrire 0
manuellement) :

Sub Macro()
If Range("B16") <> 0 Then
MsgBox "La valeur n'est pas à 0 ?"
End
End If
MsgBox "Reste de la macro."
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

"Leonard" a écrit dans le message de
news:bvdrkt$a36$
Merci !!!

C'est bon j'ai réussi ( enfin c'est pas mon oeuvre ;-) ) seul petite
amélioration que je souhaiterais apporté c'est ne pas donné le choix
du



oui
et du non mais qu'il affiche OK à la place de OUI NON
J'ai essayé de toucher un peu "vbYesNo)" mais ça ne marche pas si
j'essai


de modifier. As tu une soluton ?

En récapitulant ça donnerais :

La cellule B16 n'est pas à 0 vous ne pouvez pas terminer cette série
!!




OK

Au lieu de OUI NON

Merci
"Nicolas B." a écrit dans le message
de


news:
Salut,

empecher le déroulement de la macro si la cellule B16 > n'est pas
à





0.

Tu peux y arriver avec une condition (if) :

Sub Macro()
If Range("B16") <> 0 Then
If MsgBox("Voulez vous mettre 0 ?", vbYesNo) = vbNo Then End
End If
MsgBox "Reste de la macro."
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

"Leonard" a écrit dans le message de
news:bvbk8k$eop$
Bonjour à tous,

J'ai un petit soucis que je ne sais pas du tout résoudre avec le
VBA





(

pas
assez calé ! ). J'ai une macro qui s'occupe d'imprimer le bilan
d'une




production puis de remettre toutes les cellules à 0. Le problème
c'est




que
de nombreuses personnes travaillent sur le fichier et certaines
oublies



d'ajuster des cellules importantes qui doivent impérativement être
à





0
pour
que les statistiques soit excat. La question est donc, comment
faire





pour
empecher le déroulement de la macro si la cellule B16 n'est pas à
0.





J'aimerais qu'un petit userform apparaissent lorsque la cellule
B16





n'est
pas à 0 invitant l'utilisateur à mettre la cellule à 0 pour
continuer;





Pour moi c'est difficile à faire ( bien que je matrise
l'enregistreur




de
macro et les userform de base ) mais je sais que sur le forum il y
a





des
cracks qui m'ont souvent aidé.

Merci d'avnce