Microsoft 365 Case à cocher msg box

  • Initiateur de la discussion Initiateur de la discussion FCMLE44
  • Date de début Date de début

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 !

FCMLE44

XLDnaute Impliqué
Bonjour
Dans le fichier en pièce jointe, en cellule B53, j'ai une cellule qui fonctionne parfaitement

Je souhaiterais que lorsque je vais cliquer sur la case à cocher en E54, s'ouvre une msgbox m'invitant à indiquer quelle est la date du dernier jour travaillé

En fonction de la date indiquée dans cette msgbox, la date d'affichera en cellule E55 sous le format suivant : DJT = jj/mm/aaaa et agira sur le calcul de la formule en B53. A savoir qu'au lieu de tenir compte de la date indiquée en B17 ou B18 le calcul tiendra compte de la date en E55

Ex: En B17 ou B18 j'ai 31/12/2020. Alors j'aurais donc affiché de B53 à B64 de déc-19 à nov-20;
Si la case en E54 est cochée avec un date renseignée au 01/01/2020 alors j'obtiendrais de B53 à B64 de janv-19 à déc-19

Quelqu'un aurait il une idée ?

Merci
 

Pièces jointes

Bonjour,

Pour la case à cocher, j'ai indiqué E54 comme cellule liée et j'ai formaté la cellule avec le format personnalisé ";;;".

Dans le module de la feuille, j'ai mis :

VB:
Private Sub Worksheet_Calculate()
  If [E54] = True And Teste = False Then
    MsgBox "du " & [B53].Text & " au " & [B64].Text
  End If
  Teste = [E54]
End Sub

Dans un module standard, j'ai mis :

Code:
Public Teste As Boolean

Dis-moi si tu as besoin de précisions.

Cordialement.

Daniel
 

Pièces jointes

Bonjour et Merci

Je pense que je me suis mal exprimé. J'en suis désolé
Quand je clique sur la case à cocher je dois avoir un message box qui me demande la date du dernier jour Travaille
Lorsqu'on met la réponse, la réponse se copie en cellule E55 sous le format DJT = jj/mm/aaaa
Ensuite si la cellule E55 est non vide alors pour la cellule B53 alors je ne prendrais pas en compte les cellules B17 ou B18 mais bien la date indiquée dans le message box
 
Bonjour,

Je ne comprends pas du tout ce qu'il faut faire après avoir saisi la date. Peux-tu le réexpliquer avec deux ou trois exemples. Tu testes E55 après l'avoir rempli ? E55 ne peut pas être vide ?
Peux-être est-ce un problème de compréhension de ma part ? Avec ton dernier classeur, je ne vois pas de différence entre les deux feuilles.
Une autre chose, dans le classeur joint, je ne fais aucun contrôle sur la date. Cette vérification est assez compliquée. Peux-tu dire quelles contrôles doivent être faits ?
Je joins un classeur dans lequel le code ne fait que copier la date en E55.

Daniel
 

Pièces jointes

Bonjour
Merci
Pour la partie Case à cocher avec la saisie de date ca semble OK

Reste une dernière chose en cellule B53, j'ai cellule =SIERREUR(MOIS.DECALER(SI(B$18="";$B$17;$B$18);-12);"")
Ca c'est si la case n'est pas cochée
Si elle est cochée, au lieu de prendre dans la formule B17 ou B18, il faut prendre la cellule E55
 
Essaie le classeur joint. Explication : dans le format de contrôle de la case à cocher, j'ai indiqué E54 comme cellule liée. E54 prend donc la valeur VRAI quand la case est cochée et FAUX quand elle ne l'est pas (le format personnalisé ";;;" de la cellule masque cette valeur). J'ai donc seulement remplacé la formule de B53 par :

VB:
=SI(E54=VRAI;CNUM(DROITE(E55;10));SIERREUR(MOIS.DECALER(SI(B$18="";$B$17;$B$18);-12);""))

Daniel
 

Pièces jointes

- 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

Réponses
11
Affichages
1 K
Réponses
3
Affichages
2 K
Compte Supprimé 979
C
Réponses
4
Affichages
932
Retour