XL 2021 Problème Variable

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

Mate59

XLDnaute Junior
Bonjour à tous,

Je viens vers vous après une journée de recherche sans trouver de solutions.

En effet, j'ai déclaré une variable dans mon document mais elle ne fonctionne pas.
J'ai essayé de redémarrer excel et le pc dans un second temps mais ça ne fonctionne pas. Je vous mets le fichier afin que vous puissiez m'aider et au cas où j'ai fais une erreur.

Merci beaucoup de votre aide!
 

Pièces jointes

Solution
Bonjour @Mate59

Je te propose ceci qui fonctionne

VB:
Option Explicit

Private Sub worksheet_activate()
Dim i As Long

'Si la date est égale à celle du jour alors l'objet (Shapes) passe au NOIR et retrouve sa couleur initial si autre date
For i = 2 To 330
    If Sheets("Feuil2").Cells(i, 1) = Date Then
        ActiveSheet.Shapes("bouton").Fill.ForeColor.RGB = vbBlack

        Exit Sub  'Si condition ok on quitte la sub

    Else
        ActiveSheet.Shapes("bouton").Fill.ForeColor.RGB = RGB(255, 192, 0)
    End If
Next i
End Sub
Voici l'explication sans "exit sub" tu continues la boucle et la condition else ==> couleur jaune se fait !!!!!

Merci de ton retour
Bonjour @Mate59

Je te propose ceci qui fonctionne

VB:
Option Explicit

Private Sub worksheet_activate()
Dim i As Long

'Si la date est égale à celle du jour alors l'objet (Shapes) passe au NOIR et retrouve sa couleur initial si autre date
For i = 2 To 330
    If Sheets("Feuil2").Cells(i, 1) = Date Then
        ActiveSheet.Shapes("bouton").Fill.ForeColor.RGB = vbBlack

        Exit Sub  'Si condition ok on quitte la sub

    Else
        ActiveSheet.Shapes("bouton").Fill.ForeColor.RGB = RGB(255, 192, 0)
    End If
Next i
End Sub
Voici l'explication sans "exit sub" tu continues la boucle et la condition else ==> couleur jaune se fait !!!!!

Merci de ton retour
 
Bonjour.
Exit Sub peut être, après qu'il l'ait mis noir ?
Mais on peut le faire sans boucle avec :
VB:
Private Sub Worksheet_Activate()
If [COUNTIF(Feuil2!A2:A330,TODAY())] Then
   Me.Shapes("bouton").Fill.ForeColor.RGB = 0
Else
   Me.Shapes("bouton").Fill.ForeColor.RGB = RGB(255, 192, 0)
   End If
End Sub
 
Dernière édition:
Si je met un autre objet avec les même codes mais une colonne cible différente à la suite dans les codes cela ne fonctionne pas pour le coup car le exit sub met fin à la procédure.

VB:
Option Explicit

Private Sub worksheet_activate()
Dim i As Long

'Si la date est égale à celle du jour alors l'objet (Shapes) passe au NOIR et retrouve sa couleur initial si autre date

For i = 2 To 330

If Sheets("Feuil2").Cells(i, 1) = Date Then
ActiveSheet.Shapes("bouton").Fill.ForeColor.RGB = vbBlack
Exit Sub
Else
ActiveSheet.Shapes("bouton").Fill.ForeColor.RGB = RGB(255, 192, 0)
End If

If Sheets("Feuil2").Cells(i, 3) = Date Then
ActiveSheet.Shapes("bouton1").Fill.ForeColor.RGB = vbBlack
Exit Sub
Else
ActiveSheet.Shapes("bouton1").Fill.ForeColor.RGB = RGB(255, 192, 0)
End If

Next i

End Sub
 

Pièces jointes

Avec ma dernière proposition c'est :
VB:
Private Sub Worksheet_Activate()
If [COUNTIF(Feuil2!A2:A330,TODAY())] Then
   Me.Shapes("bouton").Fill.ForeColor.RGB = 0
Else
   Me.Shapes("bouton").Fill.ForeColor.RGB = RGB(255, 192, 0)
   End If
If [COUNTIF(Feuil2!C2:C330,TODAY())] Then
   Me.Shapes("bouton2").Fill.ForeColor.RGB = 0
Else
   Me.Shapes("bouton2").Fill.ForeColor.RGB = RGB(255, 192, 0)
   End If
End Sub
 
- 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
13
Affichages
324
  • Question Question
Réponses
5
Affichages
167
Réponses
15
Affichages
673
  • Question Question
Réponses
7
Affichages
187
  • Question Question
Microsoft 365 Problème plantage
Réponses
14
Affichages
332
Retour