Fond textbox si date du jour

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
 

gbinforme

XLDnaute Impliqué
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:

dgeo27

XLDnaute Junior
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
 

dgeo27

XLDnaute Junior
fff.jpg
 

dgeo27

XLDnaute Junior
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: 9

gbinforme

XLDnaute Impliqué
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)
 

Discussions similaires

Réponses
4
Affichages
276
Réponses
5
Affichages
315
  • Résolu(e)
Microsoft 365 Formule SI
Réponses
4
Affichages
253

Statistiques des forums

Discussions
313 270
Messages
2 096 727
Membres
106 733
dernier inscrit
Alain EDZOA