Format conditionnel et VBA

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 !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonsoir,

Je voudrais dans une macro pouvoir modifier le format conditionnel de cellules sur une même colonne.

1/ supprimer l'ancien format
2/ remettre un format en spécifiant bien sûr la plage de cellules

Le format étant : texte qui apparaît dans la cellule orange.

J'ai bien tenté d'enregistrer une macro mais rien ne s'enregistre quand on va dans le FC.

Merci pour toute réponse.
 
Re : Format conditionnel et VBA

Bonsoir Minick,

Merci pour ta réponse qui m'a permis d'un peu évoluer.
Malheureusement les renseignements concernant sont maigres, en tout cas dans la version d'Excel en espagnol.

Sub Zaza()

'Je définis tout simplement la plage de cellules concernées ("plage").
Dim NbItemsListe As Byte: NbItemsListe = [CodesFCNomsCumples].Count - 3
Dim plage As String: plage = [FirstNameCumple].Address & ":" & [FirstNameCumple].Offset(NbItemsListe, 0).Address

'1/ Dans un premier temps je voudrais effacer le formatage conditionnel (FC) de toute la
'plage de cellules.

'2/ Maintenant je reformate la plage de cellules.
'Ici il ya problème car, si je comprends bien la syntaxe, le FC dans l'exemple de l'aide
's'applique si la valeur de la cellule est supérieure à "O7" (j'ai volontairement supprimé
'la référence absolue, car le FC de chaque cellule dépendra de la valeur que prendra
'la cellule "Ox" qui lui correspond) ; or je voudrais que le FC s'applique uniquement
'si "O7=1". Ce qui reviendrait, dans l'éditeur de règles de format, à choisir l'option "utiliser
'une formule...". Mais je n'en connais pas la syntaxe.
With Worksheets(1).Range(plage).FormatConditions _
.Add(xlCellValue, xlGreater, "=O7")
With .Font
.Bold = True
.Color = -16727809
End With
End With

End Sub

Merci d'avance pour me sortir de ce pétrin.
 
Re : Format conditionnel et VBA

Re,

Essaie ceci:

Code:
Sub Zaza()
    Dim NbItemsListe As Byte: NbItemsListe = [CodesFCNomsCumples].Count - 3
    Dim plage As String: plage = [FirstNameCumple].Address & ":" & [FirstNameCumple].Offset(NbItemsListe, 0).Address
    
    With Worksheets(1).Range(plage).FormatConditions
        .Delete
        With .Add(Type:=xlExpression, Formula1:="=O7=1")
            With .Font
                .Bold = True
                .Color = -16727809
            End With
        End With
    End With
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
3
Affichages
385
Réponses
4
Affichages
589
  • Question Question
Microsoft 365 Tableau
Réponses
24
Affichages
2 K
Retour