XL 2019 calcul de date dans textbox

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 !

dodineau

XLDnaute Occasionnel
Bonjour à toutes et tous.
quand j'ouvre mon USF j'ai un textbox qui affiche la date du jour.

VB:
Private Sub UserForm_Initialize()
Jour_Calcul = Format(Int(Now()), "dddd dd mmmm yyyy")
End Sub

Le problème que j'ai c'est pour incrémenter le jour. J'ai une erreur incompatibilité de type car en fait le textbox est reconnu en string et non en date.
Code:
Jour_Calcul = DateAdd("d", 1, Jour_Calcul)

Merci pour votre aide.
A+
 
Solution
Bonjour,

Essayez :
VB:
Private Sub RAZ_Click()
   Jour_Calcul = Format(Date, "dddd dd mmmm yyyy")
End Sub

Private Sub UserForm_Initialize()
   Jour_Calcul = Format(Date, "dddd dd mmmm yyyy")
End Sub

Private Sub Jour_Plus_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("d", 1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")
End Sub

Private Sub Jour_Moins_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("d", -1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")
End Sub

Private Sub Mois_Plus_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("m", 1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")...
Re

Avec tous les indices que je t'avais laissé, tu aurais du arrivé à ceci, non?
VB:
Private Sub UserForm_Initialize()
TextBox1 = Format(DateAdd("d", 1, Date), "dddd dd mmmm yyyy")
End Sub
Et en déduire que ceci peut suffire 😉
VB:
Private Sub UserForm_Initialize()
TextBox1 = Format(Date + 1, "dddd dd mmmm yyyy")
End Sub
 
Bonjour,

Essayez :
VB:
Private Sub RAZ_Click()
   Jour_Calcul = Format(Date, "dddd dd mmmm yyyy")
End Sub

Private Sub UserForm_Initialize()
   Jour_Calcul = Format(Date, "dddd dd mmmm yyyy")
End Sub

Private Sub Jour_Plus_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("d", 1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")
End Sub

Private Sub Jour_Moins_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("d", -1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")
End Sub

Private Sub Mois_Plus_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("m", 1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")
End Sub

Private Sub Mois_Moins_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("m", -1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")
End Sub

Private Sub An_Plus_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("yyyy", 1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")
End Sub

Private Sub An_Moins_Click()
   Jour_Calcul = Mid(Jour_Calcul, InStr(Jour_Calcul, " ") + 1)
   Jour_Calcul = Format(DateAdd("yyyy", -1, CDate(Jour_Calcul)), "dddd dd mmmm yyyy")
End Sub
 
Dernière édition:
re
Bonjour a tous
c'est normal vba ne reconnais pas la date formaté avec le jour en lettre il ne peut donc plus être fait d’opération dessus
sensiblement pareil que @mapomme sauf que je passe par une variable date sur la quelle je fait les operations puis injecte dans le textbox
VB:
Dim thedate As Date
Private Sub RAZ_Click()
Jour_Calcul = Int(Now())
End Sub

Private Sub UserForm_Initialize()
thedate = Date
Jour_Calcul = Format(thedate, "dddd dd mmmm yyyy")
End Sub

Private Sub Jour_Plus_Click()
thedate = DateAdd("d", 1, thedate)
Jour_Calcul = Format(thedate, "dddd dd mmmm yyyy")
End Sub

Private Sub Jour_Moins_Click()
thedate = thedate - 1
Jour_Calcul = Format(thedate, "dddd dd mmmm yyyy")
End Sub

Private Sub Mois_Plus_Click()
thedate = DateAdd("m", 1, thedate)
Jour_Calcul = Format(thedate, "dddd dd mmmm yyyy")
End Sub

Private Sub Mois_Moins_Click()
thedate = DateAdd("m", -1, thedate)
Jour_Calcul = Format(thedate, "dddd dd mmmm yyyy")
Jour_Calcul = Format(thedate, "dddd dd mmmm yyyy")
End Sub

Private Sub An_Plus_Click()
thedate = DateAdd("yyyy", 1, thedate)
Jour_Calcul = Format(thedate, "dddd dd mmmm yyyy")
End Sub

Private Sub An_Moins_Click()
thedate = DateAdd("yyyy", -1, thedate)
Jour_Calcul = Format(thedate, "dddd dd mmmm yyyy")
End Sub

Private Sub Quit_Click()
Unload UserForm1
End Sub
 
Bonsoir les Amis
Histoire de pouvoir vous saluer et Vous présenter mes Meilleurs Vœux pour cette Nouvelle Année !
ce que j'ai mis dans le Code du Userform :
VB:
Option Explicit
Dim Dte As Date

Private Sub UserForm_Initialize()
    Me.Jour_Calcul.Tag = CLng(Date) 'Cf dysorthographie #14
     RAZ_Click
End Sub
Private Sub RAZ_Click()
Me.Jour_Calcul.Tag = CLng(Date) 'Idem
Init "d", 0
End Sub

Private Sub Jour_Plus_Click()
Init "d", 1
End Sub

Private Sub Jour_Moins_Click()
Init "d", -1
End Sub

Private Sub Mois_Plus_Click()
Init "m", 1
End Sub

Private Sub Mois_Moins_Click()
Init "m", -1
End Sub

Private Sub An_Plus_Click()
   Init "yyyy", 1
End Sub

Private Sub An_Moins_Click()
Init "yyyy", -1
End Sub

Private Sub Quit_Click()
Unload UserForm1
End Sub
Private Function Init(StrPas$, ByVal IntPas As Integer)          
     With Me.Jour_Calcul
             Dte = DateAdd(StrPas$, IntPas, .Tag) 'Idem
            .Text = Application.Proper(Format(Dte, "dddd dd mmmm yyyy"))
            .Tag = Dte 'Idem
     End With
End Function
Ainsi la date a récupérer sera toujours dans le Tag du Control "Jour_Calcul"
Bonne fin de Journée
jean marie
 
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

Réponses
1
Affichages
355
Réponses
12
Affichages
432
Réponses
10
Affichages
486
Retour