Changer couleur de la police d'une plage de cellule variable

Bonjour,

Je souhaite changer la couleur de la police d'une plage de cellule variable. Pour cela j'ai essayé plusieurs méthode de sélection de cette plage mais toutes, me renvoie un message d'erreur in fine.

La plage donc je souhaite modifier la couleur est à partir de la Cellule(25,4) jusqu'à la Cellule(50,Dercol).

Voici le code utilisé :

Private Sub ToggleButton1_Click()

Application.ScreenUpdating = True

DernCol = Cells(22, Cells.Columns.Count).End(xlToLeft).Column
a = OLEObjects("ToggleButton1").Object.Value

'on teste si la sélection de la colonne A est vide
If Sheets("USL").Cells(25, 1).Value = "" And _
Sheets("USL").Cells(26, 1).Value = "" And _
'je vous épargne la mutitude de lignes de codes, que je tenterai de réduire ultérieurement (autre objectif)
Sheets("USL").Cells(48, 1).Value = "" And _
Sheets("USL").Cells(49, 1).Value = "" Then
'si rien n'est coché on empeche le changement d'état du bouton et l'on colorie l'ensemble de la plage en noir
    ToggleButton1 = False
    'ThisWorkbook.Sheets("USL").Range("D25:" & Dercol & "50").Font.Color = vbBlack
    ThisWorkbook.Sheets("USL").Range(Cells(25, 4), Cells(50, dercol)).Font.Color = vbBlack
End if

Application.ScreenUpdating = False

End Sub

Pouvez-vous m'aider pour ce problème de coloriage de sélection varaible ?

Merci d'avance pour votre aide,

batoine

Bonjour,

Il est pratique de déclarer nos variables ... dans le nom, on place au moins une lettre en majuscule.

Ainsi, en tapant le code, on tape le nom de la variable en minuscule. En changeant de ligne, si le nom est exact, la majuscule va s'ajouter automatiquement.

Dans ton code, tu écrits Derncol, puis Dercol ... donc, pas de correspondance.

Aussi, pour minimiser l'écriture, on peut déclarer sur quelle feuille on travaille "With Worksheets("USL")". Ainsi, on peut seulement placer le "." point devant l'adressage ".Cells(48, 1).Value". La macro va savoir que tu parles de la feuille déclarée. À la fin, il ne faut pas oublier de terminer cette sélection "End With".

J'ai désactivé les lignes non essentielles au traitement du dépannage.

Private Sub ToggleButton1_Click()
Dim DerCol As Integer

'Application.ScreenUpdating = False

DerCol = Cells(22, Cells.Columns.Count).End(xlToLeft).Column
   '    a = OLEObjects("ToggleButton1").Object.Value

With Worksheets("USL")
    'on teste si la sélection de la colonne A est vide
    'je vous épargne la mutitude de lignes de codes, que je tenterai de réduire ultérieurement (autre objectif)
   If .Cells(25, 1).Value = "" And .Cells(26, 1).Value = "" And _
      .Cells(48, 1).Value = "" And .Cells(49, 1).Value = "" Then
          'si rien n'est coché on empeche le changement d'état du bouton et l'on colorie l'ensemble de la plage en noir
         ' ToggleButton1 = False
          'ThisWorkbook.Sheets("USL").Range("D25:" & Dercol & "50").Font.Color = vbBlack
       .Range(Cells(25, 4), Cells(50, DerCol)).Font.Color = vbBlack
       .Range(Cells(25, 4), Cells(50, DerCol)).Select
    End If

End With
Application.ScreenUpdating = True

End Sub

Gelinotte

Merci pour ce petit rappel basique et pour m'avoir aidé ! Tout fonctionne grâce à tes conseils !

Rechercher des sujets similaires à "changer couleur police plage variable"