Mise a jour bouton

M

Manu70

Guest
Bonjours a tous et toutes,

J'ai crée 2 boutons sur ma feuille excel pour choisir une date, chaque bouton prend une date different J et J+1 dans sont intitulé caption.

Je les ai créé hier et la mise a jour de date c'est fait correctement en lançant manuellement le code par F8. Mais aujourd'hui, j'ouvre le fichier et les bouton on la mauvaise date dans caption, mais traite bien l'info au bon jour dans ma feuille excel, j'ai du loupé un truc pour mettre a jour les caption de mes boutons.

Ci-joint le code initialize des boutons :

Private Sub Commandbutton2_Initialize()
CommandButton2.BackColor = vbCyan: CommandButton2.Visible = True
dat = Format(Date, "dddd dd mmmm yyyy")
CommandButton2.Caption = dat
If Left(dat1, 3) = "dim" Then CommandButton2.BackColor = vbRed: CommandButton2.Visible = False
End Sub

Private Sub commandbutton3_Initialize()
CommandButton3.BackColor = vbCyan: CommandButton3.Visible = True
dat1 = Format(Date + 1, "dddd dd mmmm yyyy")
CommandButton3.Caption = dat1
If Left(dat1, 3) = "sam" Then CommandButton3.BackColor = vbRed: CommandButton3.Visible = False
End Sub


Et le code click de ces dernier qui se trouve juste en dessous :

Private Sub CommandButton2_Click()
CommandButton3.BackColor = vbRed
CommandButton2.BackColor = vbGreen
datejourimp = Format(Date, "dddd dd mmmm")
Cells(7, 5) = datejourimp
End Sub

Private Sub CommandButton3_Click()
CommandButton2.BackColor = vbRed
CommandButton3.BackColor = vbGreen
datejourimp = Format(Date + 1, "dddd dd mmmm")
Cells(7, 5) = datejourimp
End Sub

A noté que la cells(7, 5) se mets bien a jour :
quand on click sur :
Le bouton 2 marqué jeudi 10 fevrier la cells(7, 5) affiche vendredi 11 fevrier
Le bouton 3 marqué vendredi 11 fevrier la cells(7, 5) affiche samedi 12 fevrier

Les boutons ne s'inialisent pas a l'ouverture du classeur, juste par F8

Si qq1 peut m'aidé

Merci d'avance et bon courage a tous et bonne journée

Manu70
 
R

Robert

Guest
Bonsoir Manu, bonsoir le forum,

Je ne crois pas, mais je n'en suis pas sûr, que la procédure Initialize puisse s'appliquer aux CommandButton mais on peut contourner le problème en plaçant tes codes dans l'événement Open du classeur :
pour cela copie le code ci-dessous. Dans Visual Basic Editor, double-clique dans l'Objet ThisWorkbook et colle-le code dans le grand cadre blanc de droite.

Private Sub Workbook_Open()
Sheets(1).CommandButton2.BackColor = vbCyan
Sheets(1).CommandButton2.Visible = True
dat = Format(Date, "dddd dd mmmm yyyy")
Sheets(1).CommandButton2.Caption = dat
If Left(dat1, 3) = "dim" Then
Sheets(1).CommandButton2.BackColor = vbRed
Sheets(1).CommandButton2.Visible = False
End If
Sheets(1).CommandButton3.BackColor = vbCyan
Sheets(1).CommandButton3.Visible = True
dat1 = Format(Date + 1, "dddd dd mmmm yyyy")
Sheets(1).CommandButton3.Caption = dat1
If Left(dat1, 3) = "sam" Then
Sheets(1).CommandButton3.BackColor = vbRed
Sheets(1).CommandButton3.Visible = False
End If
End Sub

Ce code s'effectuera automatiquement à l'ouverture du classeur. Tu pourras alors supprimer les deux CommanButton_Initialize.

À plus,

Robert
 

Discussions similaires

Statistiques des forums

Discussions
312 756
Messages
2 091 760
Membres
105 062
dernier inscrit
Ret78