XL 2013 Ecriture de code condensé

ZAKAO

XLDnaute Junior
Bonjour tout le monde,

J'espère sincèrement que vous allez bien.

Je me demandais si l'un d'entre vous a une idée de comment on peut condenser ce genre de morceaux de code comme suit :

VB:
'Mise en forme
    With F_ECOULEMENT.Range(Cells(6, 10), Cells(7, 9 + ((Nm + 1) * 2)))
        With .Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent5
            .TintAndShade = -0.499984740745262
            .PatternTintAndShade = 0
        End With
        With .Font
            .ThemeColor = xlThemeColorDark1
            .TintAndShade = 0
        End With
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .Font.Bold = True
        .Font.name = "Century Gothic"
        With .Borders
            .LineStyle = 1
            .Weight = 2
            .ThemeColor = 1
        End With
    End With

Je vous remercie en vous souhaitant une bien bonne journée.
Cdlt,
ZAKAO
 
Solution
Bonjour à tous
On peux écrire sur une ligne mais cela n'a qu'un intérêt limité et est moins lisible :
(En supprimant deux lignes inutiles et en remettant les .font dans leurs With)
VB:
With F_ECOULEMENT.Range(Cells(6, 10), Cells(7, 9 + ((Nm + 1) * 2)))
        .HorizontalAlignment = xlCenter: .VerticalAlignment = xlCenter
        With .Interior: .ThemeColor = xlThemeColorAccent5: .TintAndShade = -0.499984740745262: End With
        With .Font: .ThemeColor = xlThemeColorDark1: .TintAndShade = 0: .Bold = True: .Name = "Century Gothic": End With
        With .Borders: .LineStyle = 1: .Weight = 2: .ThemeColor = 1: End With
    End With

Cordialement

ZAKAO

XLDnaute Junior
Bonjour,
Le code que tu présente me semble bien condensé.

Peux tu donner des précisions de ce que tu attends de nous ?
Je me demande s'il est possible de le mettre sous cette forme par exemple :
(j'écris n'importe quoi)

VB:
'Mise en forme
    With F_ECOULEMENT.Range(Cells(6, 10), Cells(7, 9 + ((Nm + 1) * 2)))
        .Interior (Pattern:= xlSolid, PatternColorIndex:= xlAutomatic, ThemeColor:= xlThemeColorAccent5, TintAndShade := -0.499984740745262, PatternTintAndShade:= 0)
        .Font (ThemeColor:= xlThemeColorDark1=, TintAndShade:= 0)
    End With

Je ne sais pas si tu comprends mieux comme ça...
 

Dranreb

XLDnaute Barbatruc
Bonjour.
En général je me borne à mettre un .Interior.ColorIndex = xlColorIndexNone, et un .Font.Color = 0, le reste est le plus souvent assumé par défaut.
Mais si vous voulez détailler, les virgules ne conviennent que pour séparer des arguments d'une procédure. Des affectations à des propriétés diverses peuvent se mettre sur la même ligne à condition de les séparer de ":".
 

Efgé

XLDnaute Barbatruc
Bonjour à tous
On peux écrire sur une ligne mais cela n'a qu'un intérêt limité et est moins lisible :
(En supprimant deux lignes inutiles et en remettant les .font dans leurs With)
VB:
With F_ECOULEMENT.Range(Cells(6, 10), Cells(7, 9 + ((Nm + 1) * 2)))
        .HorizontalAlignment = xlCenter: .VerticalAlignment = xlCenter
        With .Interior: .ThemeColor = xlThemeColorAccent5: .TintAndShade = -0.499984740745262: End With
        With .Font: .ThemeColor = xlThemeColorDark1: .TintAndShade = 0: .Bold = True: .Name = "Century Gothic": End With
        With .Borders: .LineStyle = 1: .Weight = 2: .ThemeColor = 1: End With
    End With

Cordialement
 

patricktoulon

XLDnaute Barbatruc
re
bonjour
ben non on peut condenser
j'ai le meme résultat avec ceci
VB:
  'nm = 10
    With F_ECOULEMENTange(Cells(6, 10), Cells(7, 9 + ((nm + 1) * 2)))
        .Interior.Color = &H784E1F
        .Font.Color = vbWhite
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .Font.Bold = True
        .Font.Name = "Century Gothic"
         With .Borders: .LineStyle = 1: .Weight = 2: .ThemeColor = 1: End With
    End With
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16