MsgBox périodique?
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
A voir également:
- MsgBox périodique?
- Calendrier periodique - Télécharger - Santé & Bien-être
- Msgbox vba variable ✓ - Forum VB / VBA
- Msgbox range ✓ - Forum Excel
- [VBA] Type d'une variable réponse de msgbox - Forum VB / VBA
- Msgbox vbyesnocancel ✓ - Forum VB / VBA
9 réponses
Bonjour,
Je peux t'aider sur la reflexion pas forcement sur le code.
J'ai quelque chose de similaire en place.
Dans une cellule (A1)tu as la date de dernière apparition ( pour la premiere tu mets une date ancienne : ex 01/011980)
Dans une seconde la période. (B1)
Dans une troisieme la date de dernière apparition + la période ( soit la date de prochaine apparition) (C1)
Quelque part sur ta feuille tu tape (=now) qui va reprendre la date de windows.
Dans une 4ème (D1)tu fais la différence entre la date se trouvant dans la cellule avec =now et la date de prochaine apparition ( cellule avec =now - C1)
Et après tu fais un bout de code qui te fait que quand ton compteur en D1 est négatif t'as Msgbox apparait.
Espérant t'avoir aidé.
DGVDR
Je peux t'aider sur la reflexion pas forcement sur le code.
J'ai quelque chose de similaire en place.
Dans une cellule (A1)tu as la date de dernière apparition ( pour la premiere tu mets une date ancienne : ex 01/011980)
Dans une seconde la période. (B1)
Dans une troisieme la date de dernière apparition + la période ( soit la date de prochaine apparition) (C1)
Quelque part sur ta feuille tu tape (=now) qui va reprendre la date de windows.
Dans une 4ème (D1)tu fais la différence entre la date se trouvant dans la cellule avec =now et la date de prochaine apparition ( cellule avec =now - C1)
Et après tu fais un bout de code qui te fait que quand ton compteur en D1 est négatif t'as Msgbox apparait.
Espérant t'avoir aidé.
DGVDR
Bonjour,
Merci pour ton intervention et le partage de raisonnement!
je vais me pencher sur la question, ça me parle assez bien.
Je ferai un saut ici dés que j'ai mis cela en place!
A bientôt!
Merci pour ton intervention et le partage de raisonnement!
je vais me pencher sur la question, ça me parle assez bien.
Je ferai un saut ici dés que j'ai mis cela en place!
A bientôt!
Salut,
J'ai suivi ton raisonnement en faisant une petite modif' et ça marche au poil.
Merci pour l'aiguillage!
Passe une bonne soirée.
J'ai suivi ton raisonnement en faisant une petite modif' et ça marche au poil.
Merci pour l'aiguillage!
Passe une bonne soirée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Rien de chamboulant :-)
J'ai simplement brûlé une étape intermédiaire dans ton raisonnement. Je n'affiche nulle part la période car je calcule immédiatement la date du prochain évènement.
En résumé :
A1 : Date du dernier évènement (celui qui se passe tous les X mois).
B1 Date à laquelle doit se produire le prochain évènement. Pour ma part j'ai adopté la formule suivante "=Mois.decaler(A1,X)" où X est le nombre de mois (donc la période). J'obtiens donc la date en A1 + un certains nombre de mois.
C1 La date du jour : "=Aujourdhui()"
D1 la formule "= B1-C1" (Date du prochain évènement - date du jour) ce qui me génère un compte à rebours en nombre de jours.
La MsgBox apparaît quand D1 est inférieur ou égal à 0.
Pour redémarrer le compte à rebours on change la date en A1 (date du dernier évènement).
Encore un grand merci pour ton aide.
BlndBnt.
Rien de chamboulant :-)
J'ai simplement brûlé une étape intermédiaire dans ton raisonnement. Je n'affiche nulle part la période car je calcule immédiatement la date du prochain évènement.
En résumé :
A1 : Date du dernier évènement (celui qui se passe tous les X mois).
B1 Date à laquelle doit se produire le prochain évènement. Pour ma part j'ai adopté la formule suivante "=Mois.decaler(A1,X)" où X est le nombre de mois (donc la période). J'obtiens donc la date en A1 + un certains nombre de mois.
C1 La date du jour : "=Aujourdhui()"
D1 la formule "= B1-C1" (Date du prochain évènement - date du jour) ce qui me génère un compte à rebours en nombre de jours.
La MsgBox apparaît quand D1 est inférieur ou égal à 0.
Pour redémarrer le compte à rebours on change la date en A1 (date du dernier évènement).
Encore un grand merci pour ton aide.
BlndBnt.
Je ne connaissais pas le =Mois.decaler.
Egalement quelques choses qui peut peut-être t'être utile, que j'ai mis en place pour ma part.
Dans ma MsgBox j'ai un bouton de validation ( je ne sais pas ce qui s'affiche dans la tienne...).
Lorsque tu appuis sur ce bouton, la date de dernière apparition est remplacée par la date au moment du clique ( celle de la case =Aujourdhui)
DGVDR
Egalement quelques choses qui peut peut-être t'être utile, que j'ai mis en place pour ma part.
Dans ma MsgBox j'ai un bouton de validation ( je ne sais pas ce qui s'affiche dans la tienne...).
Lorsque tu appuis sur ce bouton, la date de dernière apparition est remplacée par la date au moment du clique ( celle de la case =Aujourdhui)
DGVDR
Ravi de t'avoir appris l'existence de cette utile petite formule!
Effectivement cela peut-être très pratique ton bouton. Etant très novice en VBA, puis je me permettre de te demander la manière dont on le met en place? :-)
Merci.
BlndBnt
Effectivement cela peut-être très pratique ton bouton. Etant très novice en VBA, puis je me permettre de te demander la manière dont on le met en place? :-)
Merci.
BlndBnt
En gros :
- msgt étant le texte qui s'affiche dans ma message box, qui dit : "... voulez vous reportez ?"
Tu as en dessous un bouton Yes/No
Et comme tu peux le voir dans :
Si on clique sur Yes, ma date ( en l'occurence de commande) qui se trouve dans la colonne F est reporté de 7 jours ( date entré + 7)
A ta dispo,
DGVDR
If MsgBox(msgt, vbYesNo + vbInformation + vbMsgBoxcenter, "Alerte") = vbYes Then Worksheets("Commandes").Range("F" & A) = Worksheets("Commandes").Range("F" & A) + 7
- msgt étant le texte qui s'affiche dans ma message box, qui dit : "... voulez vous reportez ?"
Tu as en dessous un bouton Yes/No
Et comme tu peux le voir dans :
Worksheets("Commandes").Range("F" & A) = Worksheets("Commandes").Range("F" & A) + 7
Si on clique sur Yes, ma date ( en l'occurence de commande) qui se trouve dans la colonne F est reporté de 7 jours ( date entré + 7)
A ta dispo,
DGVDR
C'est bon code mis en place!
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("R2") <= 0 Then
If MsgBox("Warning: It's time to update your workbook", vbYesNo, "Reminder") = vbYes Then
Worksheets("Sales Sheet").Range("P2") = Worksheets("Sales Sheet").Range("P2") + 180
End If
End If
End Sub
J'espere ne pas avoir fait de boulette...Après quelques tests cela semble bien fonctionner.
Merci pour les conseils!
BlndBnt
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("R2") <= 0 Then
If MsgBox("Warning: It's time to update your workbook", vbYesNo, "Reminder") = vbYes Then
Worksheets("Sales Sheet").Range("P2") = Worksheets("Sales Sheet").Range("P2") + 180
End If
End If
End Sub
J'espere ne pas avoir fait de boulette...Après quelques tests cela semble bien fonctionner.
Merci pour les conseils!
BlndBnt