Bug sur retour jour semaine

Bug sur retour jour semaine - VB/VBA/VBS - Programmation

Marsh Posté le 21-08-2013 à 22:30:40    

Bonsoir à tous.
 
Pouvez-vous m'aider svp ?
 
Sur Vba pour Excel 2003, j'ai un bug pour me retourner le jour de la semaine correspond à une date. Je m'explique :
Dans un UserForm, je crée une TextBox nommée TbDate, où je saisis une date ;
et une autre TextBox nommée TbJourSemaine, qui doit me retourner le jour de la semaine correspondant à la date que je viens de saisir dans TbDate.Value
 
Voici mon extrait de code qui bogue :
 
Private Sub UserForm_Initialize()
 
    TbDate.Value = "21/08/2013"
 
End Sub
 
Private Sub CommandButton1_Click()
 
     TbJourSemaine.Value = Application.WorksheetFunction.Weekday(TbDate.Value, 1)
 
End Sub
 
Qui peut me dire pourquoi la ligne de code de Private Sub CommandButton1_Click plante et me conduit au débogage ?
 
Merci de votre aide. Après résolution de ce problème, je pourrai intégrer les dates automatiquement.
 
AlainLi

Reply

Marsh Posté le 21-08-2013 à 22:30:40   

Reply

Marsh Posté le 22-08-2013 à 14:02:59    

 
           Bonjour,
 
           Cela n'a rien à voir avec un bug !     Pourquoi ?   En fait c'est tout simplement une mauvaise programmation …
 
           Comme WeekDay correspond dans la version française d'Excel à la fonction JOURSEM de feuilles de calculs,
           commencer donc par lire l'aide de cette fonction dans laquelle la source du problème y est bien indiquée !
 
           Ensuite, testez directement cette fonction dans la formule d'une cellule d'une feuille de calculs
           par rapport à une date saisie dans une autre cellule afin de vérifier si la valeur renvoyée convient;
           dans ce cas publiez ici cette formule sinon expliquez clairement le résultat attendu …
 

Reply

Marsh Posté le 22-08-2013 à 14:36:57    

Bonjour,
 
Essaie juste :
 

Code :
  1. TbJourSemaine.Value = Weekday(TbDate.Value, 1)

Reply

Marsh Posté le 22-08-2013 à 20:27:53    

Merci à tous les 2 pour vos réponses.
 
Super Takama13 ! Tu as raison, cela fonctionne. Ma fonction était bonne mais il ne fallait pas que je fasse le lien avec ma feuille de calcul.
 
Merci aussi Marc L mais mon tout mon travail doit se passer sur UserForm puis ensuite les résultats sont retournés dans ma feuille de calcul.

Reply

Marsh Posté le 22-08-2013 à 22:48:46    

 
           Non en fait cela vient, comme indiqué dans l'aide de la fonction JOURSEM,  
           que la donnée n'est pas au format date mais au format texte …
           En utilisant la fonction CDate cela marche sans souci.
 
           Sinon je demandais juste un test pour valider votre besoin car franchement je pensais à autre chose, autant pour moi …

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed