Format de cellules sous conditions
Bon jour,
Je reviens vers vous. J'ai utilisé l'enregistrement de macro pour avoir les codes. Individuellement cela marche mais une fois réuni, bug
voilà mon code :
Sub format()
'For i = 28 To 117
Range("C117").Select
If Range("C117").Select > "0" Then
Range("B117").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
Selection.Font.Underline = xlUnderlineStyleNone
Selection.Font.Bold = False
Else
Range("B117").Select
Selection.Font.Underline = xlUnderlineStyleSingle
With Selection.Font
.ThemeColor = xlThemeColorAccent4
.TintAndShade = -0.499984740745262
End With
Selection.Font.Bold = True
End If
'Next i
End Sub
Pourquoi il fonctionne si j'écris 1 dans C117 et refait la même procédure si C117 est mise à blanc ? Je voudrais faire une boucle pour balayer toutes les cellules et les formater.
Merci de votre aide
Bonjour,
Voici un essai d'adaptation du code :
Sub format()
application.screenupdating = false
For i = 28 To 117
with activesheet.cells(i, 2)
If .offset(0, 1).value > 0 Then
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
with .Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Underline = xlUnderlineStyleNone
.Bold = False
end with
Else
with .Font
.Underline = xlUnderlineStyleSingle
.ThemeColor = xlThemeColorAccent4
.TintAndShade = -0.499984740745262
.Bold = True
end with
End If
end with
Next i
application.screenupdating = true
End SubJe pense qu'il y avait un bug à cause de cette ligne If Range("C117").Select > "0" Then car .select permet de sélectionner une cellule et n'a pas sa place dans une condition.
Sinon, pour poster du code, vous pouvez utiliser les balises </> du ruban d'icônes.
Cdlt,
Merci pour le code,
Ça marche super Cool
Et merci du conseil pour poster du code, je ne connaissais pas, je prends note