Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Bonsoir, merci à toi
J'ai toutes mes textbox de 1 à 31 qui reste vide aucune date s'affiche
Par contre une des textbox est bien noir (du coup il détecte bien la "date du jours"
Mais aucune date aucun texte dans les textbox
 

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
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
    28.8 KB · Affichages: 8

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…