Gestion d'un range multiple de colonnes à formater

  • Initiateur de la discussion Initiateur de la discussion zazou5908
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Z

zazou5908

Guest
Quelqu'un peut-il me dire pourquoi avec ce code

Range("G:G,M:M,P😛,U:U").Select
Range("U1").Activate
Selection.EntireColumn.Hidden = True

Excel me masque toute les colonnes de G => U

Et qu'avec celui-ci

Range("B:B,I:I,Q:Q").Select
Range("Q1").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Interior.ColorIndex = xlNone

Excel effectue le formatage demandé sur les colonnes de B => Q

Je précise que ce code est récupéré de l'enregistreur de macro !!!

Je suis pas un grand spécialiste de VBA mais je sèche sur ce problème depuis plus de 2 heures.

Merci à ceux ou celles qui apporteront un nouveau sourire à mon visage actuellement contrarié. 😀
 
Re : Gestion d'un range multiple de colonnes à formater

Bonjour Zazou

c'est normal les actions sont appliquées sur la selection comme tu le demande dans ton code :

Range("B:B,I:I,Q:Q").Select
' là tu viens de selectionner les colonnes B, et I a Q

Range("Q1").Activate
'ici tu actives Q1, mais pas utilie

Selection.Borders(xlDiagonalDown).LineStyle = xlNone
'et là tu applique l'instruction à la selection précédemment effectuée a savoir colonnes B, et I a Q

en espérant avoir été clair...

bon après midi
@+
 
Re : Gestion d'un range multiple de colonnes à formater

Bonjour Pierrot,

Avec l'enregistreur de macro, j'ai sélectionné dans:

le premier cas

les colonnes G, M, P, U et Excel m'effectue le masquage des colonnes G à U (sans rien oublier entre 😀 )

le second cas

les colonnes B, I, Q et excel m'effectue la mise en forme sur le contenu des colonnes B à Q !!! (aussi sans rien oublier 😀 )

Pourquoi lors de la création de la macro, cela fait ce que l'on demande et que tout foire quand on exécute la macro !

Là je commence à désespérer car cela dépasse mes maigres connaissance en VBA

A+ et merci
 
Re : Gestion d'un range multiple de colonnes à formater

Rebonjour Pierrot,

Dans le premier cas, le veux cacher les colonnes G, M, P et U
Dans le seconf cas, je veux formater (comme c'est décrit dans le code) les colonnes B, I et Q

Ce qui me perturbe beaucoup, c'est que le même code de sélection multiple fonctionne pour l'ajustement automatique de la largeur des colonnes.

Ci-dessous, le code complet.

Range("C:H,J:O,R:W").Select
Range("R1").Activate
Selection.Columns.AutoFit

Range("G:G,M:M,P😛,U:U").Select
Range("U1").Activate
Selection.EntireColumn.Hidden = True

Range("B:B,I:I,Q:Q").Select
Range("Q1").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Interior.ColorIndex = xlNone

Désolé de t'empêcher d'aller prendre l'apéro !🙂
 
Re : Gestion d'un range multiple de colonnes à formater

Re

essaye comme ceci :

Code:
Range("C:H,J:O,R:W").Columns.AutoFit
Range("G:G,M:M,P:P,U:U").EntireColumn.Hidden = True
Range("B:B,I:I,Q:Q").Borders.LineStyle = xlNone

ok, j'arrive pour l'apéro...🙂
@+
 
Re : Gestion d'un range multiple de colonnes à formater

T'es génial !! Cela roule nickel.

Comme je veux mon " .Interior.ColorIndex = xlNone "

J'ai du rajouter une ligne complète

Range("B:B,I:I,Q:Q").Interior.ColorIndex = xlNone

car juste .Interior.ColorIndex = xlNone plante Excel quand j'appelle ma macro !

On ne peut pas enchaîner différentes propriétés avec n'importe quelle fonction ?

En tout cas, merci pour cet éclair de génie !

Et pour l'apéro, pourquoi pas un jour ou on arrivera à se mettre d'accord sur un lieu et un jour ! Paris vaut bien un apéro (Euh Seine Saint Denis, c'est bien sur Paris ?)😕
 
Re : Gestion d'un range multiple de colonnes à formater

Re

pour enchainer il autrait fallu codé comme ceci par exemple, a l'interieur d'un bloc "With"

Code:
Range("C:H,J:O,R:W").Columns.AutoFit
Range("G:G,M:M,P:P,U:U").EntireColumn.Hidden = True
With Range("B:B,I:I,Q:Q")
    .Borders.LineStyle = xlNone
    .Interior.ColorIndex = xlNone
End With

Oui, 93 pas très loin de Paris

bonne soirée et bon week end.
 
Re : Gestion d'un range multiple de colonnes à formater

Pierrot,

Un tout grand merci pour ton temps et tes explications !

Ma petite application est terminée et fonctionne Super.
Je viens de l'installer sur le réseau ou elle a été convertie en anglais par la version Anglaise d'Excell.

D'ailleurs j'ai découvert une petite différence entre Excell 2003 FR et GB car la fonction SOMME traduite par SUM ne réagit pas de la même façon ! Mais bon j'ai trouvé une solution !!

Encore merci et bon W.E.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
8
Affichages
2 K
Michelrib
M
S
Réponses
4
Affichages
2 K
stage_ferrit
S
H
Réponses
2
Affichages
1 K
H
C
  • Question Question
Réponses
13
Affichages
3 K
C
Réponses
2
Affichages
1 K
candice**
C
M
  • Question Question
Réponses
6
Affichages
1 K
R
Réponses
5
Affichages
2 K
R
C
Réponses
23
Affichages
4 K
Charles78
C
C
Réponses
5
Affichages
2 K
Charles78
C
W
  • Question Question
Réponses
1
Affichages
680
walido78
W
C
  • Question Question
Réponses
3
Affichages
996
Cerisaie
C
Réponses
2
Affichages
954
Réponses
7
Affichages
1 K
N
Réponses
4
Affichages
2 K
nomitse
N
Retour