Fond textbox si date du jour

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

dgeo27

XLDnaute Junior
Bonjour,

J'ai un code vba qui m'affiche les date du jours du mois en cours
Partant de la Textbox 1 à la Textbox 31

Mais j'aimerais que la date du jours réel soit elle avec le fond de la Textbox en rouge.

J'ai essayer plusieurs choses mais rien ne fonctionne :/

Merci à vous


Voici le code actuel :
VB:
'Boucle de textbox1 à 31 pour afficher les dates du mois
     madate = WorksheetFunction.EoMonth(Date, -1)     'dernier jour du mois précédent
     For i = 1 To 31
          d = madate + i
          If Month(d) = Month(madate + 1) Then
               With Controls("TextBox" & i)
               .Value = Format(d, "dddd dd-mm-yy")
              
               End With
          Else
               Controls("TextBox" & i).BackColor = RGB(0, 0, 0)
          End If
          
     Next i

     Exit Sub 'fin de cette macro
 
Bonsoir
Comme ceci cela devrait être plus conforme :
VB:
'Boucle de textbox1 à 31 pour afficher les dates du mois
     madate = WorksheetFunction.EoMonth(Date, -1)     'dernier jour du mois précédent
     For i = 1 To 31
          d = madate + i
          If Day(Date) <> i Then
               With Controls("TextBox" & i)
               .Value = Format(d, "dddd dd-mm-yy")
             
               End With
          Else
               Controls("TextBox" & i).BackColor = RGB(0, 0, 0)
          End If
         
     Next i
 
Dernière édition:
Bonjour,

Je comprend pourquoi Forecolor ne fonctionne pas c'est parceque dans la Textbox de la date du jour il y as aucun texte...
Il colorise la textbox du jours sa ok mais aucune date n'est marqué dedans


VB:
'Boucle de textbox1 à 31 pour afficher les dates du mois
     madate = WorksheetFunction.EoMonth(Date, -1)     'dernier jour du mois précédent
     For I = 1 To 31
          d = madate + I
          
          If Day(Date) <> I Then
          'If Month(d) = Month(madate + 1) Then
          
               With Controls("TextBox" & I)
               .Value = Format(d, "dddd dd-mm-yy")
              
               End With
          Else
               Controls("TextBox" & I).BackColor = RGB(255, 128, 128)
               'Controls("TextBox" & I).ForeColor = RGB(255, 128, 128)
          End If
          
     Next I

     Exit Sub 'fin de cette macro
 
Derniére question svp concernant cette mise en page 🙂
Il y à moyen d'avoir les textbox juste à côté également colorisé de la même façon ?
Il détecte le jour "j" = rouge
Et donc il met en rouge les Textbox de la même ligne ?
 

Pièces jointes

  • gggg.png
    gggg.png
    28.8 KB · Affichages: 12
y à moyen d'avoir les textbox juste à côté également colorisé de la même façon ?
Il détecte le jour "j" = rouge Et donc il met en rouge les Textbox de la même ligne ?
Si tes textbox ont un nom similaire tu peux les rajouter dans ta boucle comme par exemple :
VB:
               Controls("TextBox" & I).BackColor = RGB(255, 128, 128)

               Controls("TextBox1" & I).BackColor = RGB(255, 128, 128)
               Controls("TextBox2" & I).BackColor = RGB(255, 128, 128)
               Controls("TextBox3" & I).BackColor = RGB(255, 128, 128)
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
77
Réponses
5
Affichages
370
Retour