Bonjour
Je cherche à faire une mise en forme automatique sur une série de cellule : Si la somme des x cellules à droites sur la même ligne est 0, le texte de la cellule deviens gras
Ce qui donne ceci :
Le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 For Each rg2 In ImputSheet.Range("A:A") 'Pour la colonne de date If rg2.Row > 1 Then With rg2 ScrollDate = 'Traitement de truc dans la cellule .Value = CDate(ScrollDate) 'mise en forme conditionelle. strtmp = "=SOMME(B" & CStr(.Row) & ":" & (Split(Columns(x + 1).Address(ColumnAbsolute:=False), ":")(1)) & CStr(.Row) & ")" & "=0" .FormatConditions.Add Type:=xlExpression, Formula1:=strtmp .FormatConditions(1).Font.Bold = True 're-traitement de truc dans la cellule End With End If Next rg2me donne la lettre de la dernière cellule concernée par la mise en forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part Split(Columns(x+ 1).Address(ColumnAbsolute:=False), ":")(1)
au final, strtmp doit me donner un texte comme ca pour la cellule A2 = "=SOMME(B2:F2)=0"
Le problème c'est que lorsque l'exécution se finit, je vais regarder la mise en forme dans la cellule, et ca donne ca :
Pour la cellule A2 : =SOMME(B3:F3)=0
A3 : =SOMME(B5:F5)=0
A4 : =SOMME(B7:F7)=0
A31 : =SOMME(B61:F61)=0
Alors que lorsque je fais du pas à pas, les valeurs de strtmp ont l'air d'être bonne.
Que ce passe-t-il ?
Que faudrait-il faire pour que la mise en forme fonctionne correctement ?
Partager