Vba Afficher une msgbox de façon aléatoire

Fermé
refcemad Messages postés 39 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 10 mai 2018 - 1 déc. 2015 à 22:48
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 4 déc. 2015 à 00:36
Bonjour à tous,

Je voudrais qu'une msgbox s'affiche uniquement de temps en temps lorsqu'un utilisateur exécute une macro. Il s'agit de demander à ce qu'une référence soit recontrôlée à la main avant de poursuivre.

Je ne souhaite pas que cette msgbox s'ouvre à chaque fois qu'on lance la macro car, à la longue, plus personne n'en tiendrait compte (et moi d'abord).

Merci de tenir compte du fait que je suis encore (...et toujours...) novice.

A vous lire,

A voir également:

3 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
2 déc. 2015 à 09:21
Bonjour,

Dans le code de ta macro, génère un nombre entier aléatoire r (par ex. entre 1 et 100).
cf. https://forums.commentcamarche.net/forum/affich-17702958-resolu-vba-excel-nombre-aleatoire

Ensuite, fais un test par rapport à un plafond (par ex. r <= 20?) ; si la condition est vraie, affiche le MsgBox (ici, dans 20% des cas).


A+
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 2/12/2015 à 09:22
Bonjour,

demander à ce qu'une référence soit recontrôlée Sur quel critere ?? Car il faut un evenement pour declancher l'affichage de cette MsgBox
0
refcemad Messages postés 39 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 10 mai 2018 1
3 déc. 2015 à 23:56
Bonjour,

Merci pour votre aide.
J'ai un peu de mal avec certains concepts alors j'ai fini par contourner le problème en générant dans une cellule (B2) une valeur aléatoire entre 1 et 100 et en la récupérant dans mon code avec :

If Range("B2").Value < 10 Then
msgbox Range("D2").Value, , Range("C2").Value
End if

C'est peut-être pas très chic mais ça me convient...
Merci encore et à bientôt.
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
4 déc. 2015 à 00:36
Bonsoir,

Ah ouais... ça n'a rien à voir avec ce que je t'ai proposé !

Bonne nuit
0