Format conditionnel et VBA

Magic_Doctor

XLDnaute Barbatruc
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.
 

Magic_Doctor

XLDnaute Barbatruc
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.
 

Minick

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

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 314
Membres
103 176
dernier inscrit
jean.yvesjean.yves