XL 2010 macro mise en forme

iss

XLDnaute Nouveau
Bonjour,

Je mer permets de vous contacter car après plusieurs recherche je ne trouve pas de solution :(
j'ai un niveau débutant sur Excel et vba notions mais sans plus

Ma problématique :
j'ai crée un TCD via l'enregistreur puis je fait le mise en forme suivante :
les cellules vides en "gris" et cellule avec chiffres impaires "couleur orange"

J'arrive a avoir le résultat en passant par "mise en forme conditionnelle"
cellule vide... et la formule =est.impair...

Lorsque je change la base de donné du TCD la mise en forme disparait.
Comment appliquer une mise en forme sur le TCD lorsque je change la base?
 

Pièces jointes

  • mise en forme.xlsm
    252.7 KB · Affichages: 24

job75

XLDnaute Barbatruc
Bonjour iss, bienvenue sur XLD,

Voyez le fichier joint et testez cette macro :
Code:
Sub MAJ_MFC()
Application.ScreenUpdating = False
Cells.FormatConditions.Delete 'RAZ
With [A1].CurrentRegion
    If .Rows.Count <= 3 Or .Columns.Count <= 2 Then Exit Sub
    With .Cells(3, 2).Resize(.Rows.Count - 3, .Columns.Count - 2) 'à partir de B3
        .FormatConditions.Add xlExpression, Formula1:="=B3="""""
        .FormatConditions(1).Interior.ColorIndex = 16 'gris
        .Cells(1, .Columns.Count + 3) = "=MOD(B3,2)=1" 'pour obtenir la formule sous toute version
        .FormatConditions.Add xlExpression, Formula1:=.Cells(1, .Columns.Count + 3).FormulaLocal
        .FormatConditions(2).Interior.ColorIndex = 46 'orange
        .Cells(1, .Columns.Count + 3) = ""
    End With
End With
End Sub
La MFC commence toujours en B3 et il doit y avoir des totaux en dernière ligne et colonne du TCD.

A+
 

Pièces jointes

  • mise en forme(1).xlsm
    257.4 KB · Affichages: 21

iss

XLDnaute Nouveau
Bonjour job75,

Merci pour cette accueil et merci beaucoup pour votre aide :). c'est parfait.

J'aimerais mettre à partir des cellules B2 et m’arrêter avant total général, en couleur vert :
si dans la colonne B, C.... il n'y a pas de couleur orange ou chiffre impaire.

Il faut passer par de la mise en forme ou code VBA ?

Merci encore pour votre aide précieuse

a bientôt
 

job75

XLDnaute Barbatruc
Re,
J'aimerais mettre à partir des cellules B2 et m’arrêter avant total général, en couleur vert :
si dans la colonne B, C.... il n'y a pas de couleur orange ou chiffre impaire.
Pas de problème pour ajouter une MFC en ligne 2 :
Code:
Sub MAJ_MFC()
Application.ScreenUpdating = False
Cells.FormatConditions.Delete 'RAZ
With [A1].CurrentRegion
    If .Rows.Count <= 3 Or .Columns.Count <= 2 Then Exit Sub
    With .Cells(3, 2).Resize(.Rows.Count - 3, .Columns.Count - 2) 'à partir de B3
        .FormatConditions.Add xlExpression, Formula1:="=B3="""""
        .FormatConditions(1).Interior.ColorIndex = 16 'gris
        .Cells(1, .Columns.Count + 3) = "=MOD(B3,2)=1" 'pour obtenir la formule sous toute version
        .FormatConditions.Add xlExpression, Formula1:=.Cells(1, .Columns.Count + 3).FormulaLocal
        .FormatConditions(2).Interior.ColorIndex = 46 'orange
        .Cells(1, .Columns.Count + 3) = "=SUMPRODUCT(MOD(" & .Columns(1).Address(1, 0) & ",2))=0"
        .Rows(0).FormatConditions.Add xlExpression, Formula1:=.Cells(1, .Columns.Count + 3).FormulaLocal 'en ligne 2
        .Rows(0).FormatConditions(1).Interior.ColorIndex = 4 'vert
        .Cells(1, .Columns.Count + 3) = ""
    End With
End With
End Sub
Fichier (2).

A+
 

Pièces jointes

  • mise en forme(2).xlsm
    257.5 KB · Affichages: 25

Discussions similaires

Statistiques des forums

Discussions
312 763
Messages
2 091 815
Membres
105 076
dernier inscrit
simeand