Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 msgbox : timer vbyes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

isandre

XLDnaute Nouveau
bonjour à tous,
Rien de professionnel ; pour faire travailler mes neurones, je "joue" avec Vba, mais mes connaissances sont assez légères.
Aujourd'hui, j'essaie de fermer automatiquement, donc par Vba, une MsgBox qui demande l'autorisation d'enregistrer (ou pas) un classeur.
Tout ce que j'ai trouvé sur le Net ne fonctionne pas, certainement parce qu'il me manque un élément.
voici un fragment de mon code
màj = Sheets("feuil1").Range("B1").Value
If màj >= Date Then GoTo fin 'si la date de la cellule F1 est celle du jour, passer à la fin de la condition.
If MsgBox("La dernière mise à jour date du " & màj & " Voulez-vous l'actualiser ?", vbYesNo) = vbYes Then
Sheets("feuil1").Range("B1").Value = Date

End If
fin:


Ce que je cherche à obtenir, c'est que cette MsgBox renvoie la valeur VbNo si l'utilisateur ne répond pas dans un délai déterminé.
Mais je tourne en rond...
Une solution ?
 
Solution
Bonjour,
Sinon tu as cette ressource:
Ça ne te rendra pas vbNo si le timer s'est déclenché mais une variable publique te le dira.
VB:
Sub Exemple()
    Call SetMsgBoxTimer(2.5)
    MsgBox "Vous avez 2 secondes et demie pour cliquer sur le bouton !"
    If SetMsgBoxTimerTimeOut Then MsgBox "Trop tard !"
End Sub
Bonjour à tous

@isandre

Je suis en train de tout refaire à la vitesse de l'escargot..... entre mes diverses occupations.

J'ai fini la feuille "DVD & BR"
J'ai fini ==> Affichage_des_enregistrements_programmés.

J'en suis à la reconstruction de tes MFC bouton "Réinitialisation" qui ne colle pas toujours avec les plages que tu indiques en commentaire .....

Juste pour info ta formule matricielle dans la feuille "MKV" en N1 je l'ai remplacé par :
=NB.SI(L:L;"=en co*")
qui fonctionne très bien et bien plus simple et non matricielle....

J'essaye de comprendre à quoi servent tes formules ci dessous pour voir si on peut faire plus court et/ou les remplacer par du code VBA !!!


Et il manque à faire la totalité de ==> Workbook_BeforeClose(Cancel As Boolean) qu'il faut vraisemblablement tout reprendre.

La suite ..... bientôt
 
Dernière édition:
@Phil69970
Bonjour,

J’ai l’impression que tu prends ça comme un challenge !
Merci, ça me permettra certainement de progresser dans la compréhension d’Excel. Mais ne te prends pas la tête quand même !

Bien vu pour la formule en N1, je n’y avais pas pensé !

Pour les formules, je suis en Office 2021 :
Ces formules m'ont ennuyé un bon moment ! Je ne parvenais pas à les écrire en enregistrement de macro.

Pour la première (TCD), pas moyen de la faire en Formula.Local, ni de modifier ensuite le numéro de la dernière ligne ; j’ai donc mis R[1995], qui correspond à la ligne 2000, ce qui laisse de la marge.

Pour la deuxième (comptage), j’ai choisi la facilité en prenant la formule de la feuille, avec la valeur de « 1000 », et en remplaçant ensuite cette valeur par la variable « j ». Cette formule me donne le nombre de type de vidéos (choisi dans la cellule A2), en fonction du support (choisi dans la cellule A4), et de mettre une info si la liste est vide.

Ces formules me permettent de retrouver les vidéos enregistrées, par type et par support.

Je n’ai pas compris cette ligne rajoutée (en gras), qui n’existe pas dans mon code :

'Remplacement de "1000" dans la formule par la variable "j", qui donne la dernière ligne de la feuille "MKV"
'Ws3.Range("F4").Replace What:="1000", Replacement:=j
Worksheets("Filtre").Range("F4").Replace What:="1000", Replacement:=j

Bonne journée
André
 
@isandre

En clair et en français que veux tu que ta formule fasse ?
Pour la première (TCD), pas moyen de la faire en Formula.Local, ni de modifier ensuite le numéro de la dernière ligne ; j’ai donc mis R[1995], qui correspond à la ligne 2000, ce qui laisse de la marge.

Idem pour les autres formules ....


C''est ce que j'ai commencé à faire mais j'ai oublié de la supprimé dans le post

La ligne en gras viendra remplacé la ligne du dessous quand tout sera fini
 
Cette formule fonctionne comme je demande, pas de soucis sur cette feuille. Je n'ai pas trouvé comment la mettre en français (Formula.Local), a priori elle ne peut être mise qu'en Formula2R1C1
Cette fonction n'existe pas dans Office 2010.
Lien vers cette fonction : https://support.microsoft.com/fr-fr/office/fonction-filtre-f4f7cb66-82eb-4767-8f7c-4877ad80c759

C'est la fonction FILTRE ; La condition SI qui est avant FILTRE m'informe sur une erreur au niveau du choix dans les cellules A2 (choix de la vidéo) et A4 choix du support. Le SI me renvoie soit "Modifiez le type de vidéo ou le support" dans la cellule A5, et uniquement dans celle-ci, soit la liste de toutes les vidéos qui répondent aux deux critères.
En fonction du type de vidéos et du support sélectionné, le tableau m'affiche uniquement ceux qui correspondent à ces deux critères
En fait, j'ai expérimenté cette formule FILTRE , et elle me renvoie à partir de la ligne 5 les vidéos qui correspondent aux critères des cellules A2 (type de vidéo) et A4 (support).
En plaçant cette formule uniquement dans la cellule A5, elle agit sur le reste de la feuille Filtre, sans avoir à la recopier sur l'ensemble des cellules concernées.
Je ne sais pas si tu peux le voir, mais l'affichage de la formule dans la barre de formule est affichée en noir pour la cellule A5, et grisée pour les autres cellules
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
170
Réponses
2
Affichages
153
Réponses
5
Affichages
237
Réponses
2
Affichages
511
Réponses
6
Affichages
299
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…