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

la syntaxe des dates dans mon programme

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • 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 !

Ilino

XLDnaute Barbatruc
Bonjour forum
Ci-joint mon petit programme en cours d’élaboration grâce a vous et je suis bloqué dans le format des dates (spécialement dans le calendrier et les deux colonnes « date départ » et « date d’arrivé ») alors je vous sollicite a me donner un coup de main concernant la syntaxe des date
NB J’ai déposé un exemple de deux dates pour voir mon pblm de la syntaxe
THINKS
http://cjoint.com/?BBmasmcnwQM
 
Re : la syntaxe des dates dans mon programme

Salut Ilino,

Relancer ton sujet à peine 30mn après alors qu'il est minuit passé?

Pour ma part, désolé mais aucun changement chez moi, je ne peux toujours pas lire les fichier au format Excel 2007. Donc soit :
-> il faut attendre quelqu'un équipé de ce logiciel et connaissant la solution à ce problème (ce qui limite le nombre de candidat, d'autant qu'à cette heure ci il y a beaucoup moins de monde : 123 personnes seulement et toutes ne sont pas des "répondeurs" 😉).
-> soit mettre un exemplaire de ton fichier converti au format Excel 2003, et ainsi tu toucheras un plus large public et donc aura plus de chance d'avoir une réponse, malgré l'heure très tardive. Surtout que ton problème n'étant pas propre à Excel 2007, pourquoi te fermer des portes? D'autant plus que tu semble pressé 😉

A+
 
Re : la syntaxe des dates dans mon programme

Re-bonsoir,

Tu veux te faire virer du forum? Avec des remarques de ce genre, j'en connais qui ne vont pas aimer du tout 😀

Puisque tu le souhaite, soyons professionnel (bien que nous soyons tous bénévoles et là que pour le plaisir).

Voici mes remarques au fur et à mesure.

Remarque 1 :
Sur la feuille "FSC 2012" colonne B, tu as mis des listes de validations. C'est très jolie à première vu, mais quand on clic dessus... à la fin du dernier nom il y a des tonnes de lignes vide 🙁

Pour éviter cela il te suffit de :
-> cliquer sur "insertion" / "nom" / "définir..."
-> sélectionner dans la liste "NOM"
-> remplacer :
=LISTES!$A$2:$A$100
-> par :
=DECALER('LISTES'!$A$2;1;;NBVAL('LISTES'!$A:$A)-1)

J'y pense, je m'excuse, par habitude j'ai donné la marche à suivre pour Excel version antérieur à 2007. Mais je suis sûr que tu trouveras l'endroit où cela se passe dans la version 2007 😉

Je vais voir s'y j'arrive à solutionner ton soucis, pendant que tu modifie cela et potasse cette fonction si utile : DECALER() et NBVAL().

A tout à l'heure (à moins qu'un plus rapide résolve ton problème avant)
 
Re : la syntaxe des dates dans mon programme

Re-bonsoir,

Remarque 2 :
Sur la feuille "FSC 2012" colonne C, tu as mis des listes de validations. Et en même temps des listes de validations. Ca fait double emploi, non?

Autre soucis, avec la liste de validation "prénom" ainsi conçu, pour le "NOM 1", l'utilisateur peut saisir "Prénom 5", ce qui est plutôt embêtant non? 😉

Personnellement, pour cette colonne j'enlèverai la liste de validation et mettrais que la version formule 😉

Ou faire remplir cette colonne par ton UserForm 😉 Puisque dans l'UserForm tu effectue déjà la recherche :
"si le nom saisie est ... alors le prénom est ..."

Tu gagneras ainsi en simplicité et également en temps de traitement.

A tout à l'heure

PS. : en tout cas CHAPEAU BAS pour ton fichier, il est vraiment sympa et regorge d'astuces sympa. J'ai beaucoup aimé l'encadré avec un fond noir et un texte défilant à l'intérieur (même si cela fait un peu gadget) 🙂
 
Dernière édition:
Re : la syntaxe des dates dans mon programme

Re,

Remarque 3 :
Dans ton UserForm Calendrier, lorsqu'on clic sur un Vendredi, cela semble poser un problème, puisqu'il y a un message d'erreur. Mais finalement il recopie quand même la date!

Je ne connais pas tes contraintes ni le fonctionnement, mais je me serais plutôt attendu à l'une de ces solutions :
1/ si le vendredi est une valeur "impossible", alors je représenterais le calendrier à l'utilisateur jusqu'à ce qu'il clic sur un jour qui ne tombe pas un vendredi
2/ si le vendredi est une date "bizarre" mais possible, alors au lieu d'une simple MsgBox :
MsgBox "Le jour choisi est un Vendredi !?"
J'aurais plutôt mis une MsgBox indiquant : "le jour choisi est vendredi!?! Vous êtes sûr de votre réponse"?
-> s'il clic sur le bouton "non", alors je lui représente le calendrier
-> s'il clic sur le bouton "oui", alors je valide la date

Ce qui donnerais à la place de :
MsgBox "Le jour choisi est un Vendredi !?"

le code suivant :
VB:
if msgbox ("Le jour choisi est un vendredi!?!" & vbCrLf & vbCrLf & "Vous êtes sûr de votre saisie?"+vbinformation,"Attention")=vbno then
   UsF_Calendrier.Show
end if

à tester (du moins si cela correspond à tes besoins), car je n'arrive pas le faire sur ton fichier : je vois les macro mais ne peut les modifier (pourtant ton code n'est pas protégé)

A tout à l'heure
 
Re : la syntaxe des dates dans mon programme

Re,

Remarque 4 :
Dans ton UserForm "Formulaire" il y a des champs obligatoires, mais si on les renseigne pas ta macro continue son chemin quand même.

En tout cas, je vois que tu y a pensé le code correspondant est en vert dans la macro : Private Sub CommandButton2_Click()

Pourquoi? Ca bug et ce sera ta prochaine question quand nous aurons résolu ton soucis de date?

A tout à l'heure
 
Re : la syntaxe des dates dans mon programme

RE SALUT
CONCERANAT LA 3 REMARQUE je ne veu pas utiliser la journier de vendredi journier de déplacement elle est inutile vendredi-samedi-dimanche c'est un week end prolongé
et pour le code il affiche un message "Incompatibilité de type" apres avoir remplacer
Private Sub BtnValider_Click()
Dim MaDate As Date
MaDate = Me.Calendar1.Value
If Weekday(MaDate, vbSaturday) = 7 Then
'MsgBox "Le jour choisi est un Vendredi !?"
If MsgBox("Le jour choisi est un vendredi!?!" & vbCrLf & vbCrLf & "Vous êtes sûr de votre saisie?" + vbInformation, "Attention") = vbNo Then
UsF_Calendrier.Show
End If
End If
ObjDate.Value = Format(Me.Calendar1, "dd/mm/yyyy")
Unload Me
End Sub
 
Re : la syntaxe des dates dans mon programme

salut concernant la remarque 4
oui tu as raison , mais je n'ai pas encore terminer mon programme il est en chantier
..c'est pour cette raison que je suis un peu perturbé et limité par le temps..Et je tien a te remercier pour ton soutient
 
Re : la syntaxe des dates dans mon programme

Re,

Remarque 5 :
Dans l'UserForm Formulaire, pourquoi pour le véhicule nous indiquons des "Km/h"? Ce n'est pas plutôt des "Km", dans le but de savoir combien de kilomètres ils ont effectué pour le projet ... (dans le but je suppose de refacturer cela plus tard au client).

Remarque 6 :
Dans l'UserForm Formulaire, on renseigne tout plein d'information, dont la date retour, pourtant tu as mis une formule mathématique sur ta feuille excel. Pourquoi faire le boulot deux fois. Dans le but de permettre une saisie manuelle de ton tableau? Sans avoir à passer par ton UserForm? Si tu veux que l'utilisateur passe absolument par ton UserForm, personnelement je vérouillerais ta feuille Excel de sortent que les utilisateurs puissent QUE regarder les données, mais pas les compléter et/ou corriger (au risque d'effacer une information importante et juste).

Remarque 7 :
Dans l'UserForm Formulaire, pour ta ComboBox2 : "ordre de", pour l'alimenter tu as mis dans ta macro : Private Sub UserForm_Initialize()

Me.ComboBox2.RowSource = "=ORDRE"

Si tu veux alléger ton code, tu peux supprimer cette ligne entièrement et à la place, tu vas sur ton UserForm, tu fais UN clic sur ta ComboBox2, dans les propriétés de ta ComboBox (en bas à gauche), sur la ligne "Row source", tu écris ORDRE.

Idem pour tes autres ComboBox 😉

Ca y est! J'ai tout testé ce qui me tombais sous la main. Espérant que toutes mes remarques t'auront servi en te permettant d'améliorer ce fichier déjà très bien conçu et te faire progresser.


Je me suis attaqué à ton problème de date, mais tu ne dis pas où est le problème!
1/ j'ai vérifié au niveau de ton Label34 : la date s'y inscrit correctement. Seul point bizarre, dans ton code VBA tu dis que la "date de retour" est égal à la "date de début" + Durée - 1 jrs est cela quelque soit l'ordre : "Mission" ou "Déplacement". Or sur ton fichier excel tu as écris via ta formule :
-> si l'ordre est "missions" : alors "date de retour" = "date de départ" + "Durée" - 1 jrs
-> si l'ordre est "déplacement" : alors "date de retour" = "date de départ" + 30 jrs

Si la bonne version est celle-ci alors il te faut remplacer :
VB:
Private Sub textBox1_Change()
  TextBox1 = UCase(TextBox1)
  ' afficher la date de retour
  If TextBox1.Value <> "" Then
      Label34.Caption = "Date de retour est prevue le " & DateValue(TextBox2.Value) + TextBox1.Value - 1
  End If

  ' afficher si le nombre de jour valide ou non
  If TextBox1.Value > 31 Then MsgBox ("Nombre de jours invalide, Veuillez taper un nombre inferieur a 31 ")
End Sub

par ceci :
VB:
Private Sub textBox1_Change()
  TextBox1 = UCase(TextBox1)
  ' afficher la date de retour
  If TextBox1.Value <> "" Then
      If ComboBox2.Value = "Mission" Then
             Label34.Caption = "Date de retour est prevue le " & DateValue(TextBox2.Value) + TextBox1.Value - 1
      Else
             Label34.Caption = "Date de retour est prevue le " & DateValue(TextBox2.Value) + 30 
     End If
  End If

  ' afficher si le nombre de jour valide ou non
  If TextBox1.Value > 31 Then MsgBox ("Nombre de jours invalide, Veuillez taper un nombre inferieur a 31 ")
End Sub

Ne pouvant tester le code, je te laisse le soins de la faire?

2/ j'ai vérifié au niveau de ta feuille Excel : "FSC 2012" : la date s'y inscrit correctement également
Pour m'en assurer, dans ta macro : Private Sub CommandButton2_Click()
J'ai rajouté la ligne de code suivante :
.Range("G" & m) = DateValue(TextBox2.Value) + TextBox1.Value - 1

Tout se passe bien au niveau de ta feuille Excel. Ah oui j'y pense! J'ai réussi à copier ce code et le tester bizarre! Mais bon, ce n'est pas le problème qui nous intéresse.

3/ je ne vois pas à quelle autre endroit tu pourrais avoir un soucis de date.

Tiens nous au jus.

Bonne nuit
 
Re : la syntaxe des dates dans mon programme

Re,

Ilino à dit:
c'est pour cette raison que je suis un peu perturbé et limité par le temps..Et je tien a te remercier pour ton soutient

Je vois ça! Vu l'heure, j'aurais cru que tu n'attendrais pas ma réponse concernant ton problème de date!

Je vais me pencher sur ton problème de MsgBox.

A tout à l'heure.
 
- 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

Z
Réponses
3
Affichages
548
Z
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…