Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion clautu
  • 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 !

clautu

XLDnaute Junior
Bonojur à tous,
J'utilise un calendrier que j'ai trouvé sur internet pour gèrer la sortie et le retour de matériel. J'ai donc demandé qu'il apparaisse un message d'erreur pour que la date de retour soit plus loin que la date de sortie. (tu ne peux pas emprunter le 4avril et me le rapporter le 2 avril) tout ca fonctionne bien. La seule chose c'est que mon message d'erreur ne s'affiche qu'une fois et moi je voudrais que tant que la deuxième date n'est pas plus tard que la premiere le message apparait.
Comment faire ???

'EXEMPLE
Sub calendrier()
Range("h15").Select
Dim UnJour As Date
UnJour = FormCal.calendrier
If UnJour <> 0 Then
Range("h15").Value = Format(UnJour, "dd mmmm yyyy")
Range("h16").Select
UnJour = FormCal.calendrier
If UnJour <> 0 Then
Range("h16").Value = Format(UnJour, "dd mmmm yyyy")
If Range("h16").Value < Range("h15").Value Then
Dim retour As Integer
retour = MsgBox("La date de retour doit être supérieure à la date de sortie", vbOKOnly + vbExclamation + vbDefaultButton, "118e Groupe Scouts de Pintendre")
Range("h16").Select
UnJour = FormCal.calendrier
If UnJour <> 0 Then
Range("h16").Value = Format(UnJour, "dd mmmm yyyy")

End If
End If
End If
End If


Merci !!!
 
Re : calendrier

Salut Clautu

Je pense qu'il te faut une boucle Do ... Loop While

Code:
Sub calendrier()
Range("h15").Select
Dim UnJour As Date
UnJour = FormCal.calendrier
If UnJour <> 0 Then
  Range("h15").Value = Format(UnJour, "dd mmmm yyyy")
End If
 
Range("h16").Select
Do ' Effectuer la boucle en continue
  UnJour = FormCal.calendrier
  If UnJour <> 0 And Range("h16").Value < Range("h15").Value Then
     MsgBox "La date de retour doit être supérieure à la date de sortie", vbOKOnly + vbExclamation + vbDefaultButton, "118e Groupe Scouts de Pintendre"
  Else
    Range("h16").Value = Format(UnJour, "dd mmmm yyyy")
  End IF
  ' Sortir de la boucle si la date H16 est supérieure à H15
Loop while Range("h16")< Range("h15")
 
UnJour = FormCal.calendrier
If UnJour <> 0 Then
  Range("h16").Value = Format(UnJour, "dd mmmm yyyy")
End If

Pas tester, mais ça devrait être pas mal 😉
 
Re : calendrier

Merci beaucoup,
C'est cela que je voulais à un détail pret.
La loop ne s'arrête pas quand je met une date plus élevé car la nouvelle date ne s'inscrit pas dans h16 donc la boucle lit toujours l'autre date et me dit qu'elle est plus petite.
 
Re : calendrier

Salut Clautu,

Si tu veux que l'on puisse t'aider correctement, il faut que tu mettes ton fichier sur le forum (zippé si il est trop gros)

Parce que là, je ne comprends rien à ce qui t'arrive 😕
 
- 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
5
Affichages
707
Réponses
2
Affichages
332
Réponses
9
Affichages
256
Réponses
10
Affichages
533
Réponses
6
Affichages
434
Réponses
4
Affichages
671
Réponses
2
Affichages
670
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…