Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…