XL 2016 Sélection d'une grande quantités de plages nommées

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 !

AntonG

XLDnaute Nouveau
Bonjour,

Je souhaiterais savoir comment écrire une grande quantité de plage nommée. J'ai trouvé une piste avec l'enregistreur de macro pour passer à la ligne mais cela ne marche guère.

Le but de la manœuvre est de sélectionner ces plages et de leur attribuer une certaine couleur. Ce morceau de code fais partie d'une série d'action dans un "If"

J'ai volontaire retiré la plupart des plages afin de na pas alourdir l'exemple

Union(Range _
"Partie_04_T01_J,Partie_04_T24_J,Partie_04_T25_J" _
), Range( _
"Partie_09_T01_J,Partie_09_T24_J,Partie_09_T25_J" _
), Range( _
"Partie_12_T01_J,Partie_12_T25_J" _
)).Select
With Selection.Interior
.Pattern = xlLightUp
.PatternColorIndex = xlAutomatic
.Color = 13434879
.TintAndShade = 0
.PatternTintAndShade = 0
End With


En vous remerciant par avance pour votre aide !
 
Bonjour,
Essaye un type de code de ce genre
En adaptant le nom des plages nommées
VB:
With Union([plage1], [plage2], [plage3]).Interior
.Pattern = xlLightUp
.PatternColorIndex = xlAutomatic
.Color = 13434879
.TintAndShade = 0
.PatternTintAndShade = 0
End With
 
Merci pour la réponse, mais comment faire pour continuer à écrire les plages? Car j'en ai une certaine quantité qui fait que ça va plus loin que ce qui est permis
Re..
Sauf erreur ,"union" supporte 30 plages
S'il devait y avoir plus que 30 plages faire autant d'union qu'il y a de série de 30 plages
With Union([plage1], [plage2],...……. [plage30]).Interior
'-----
'-----
End With

With Union([plage31], [plage32],...……. [plage60]).Interior
'-----
'-----
End With
etc.….
 
Dernière édition:
Bonjour AntonG, Jacky67,

A condition que toutes les plages nommées soient dans la même feuille de calcul :
VB:
Sub CouleursPlagesNommées()
Dim nom As Name, plage As Range
For Each nom In ThisWorkbook.Names
    If TypeName(Evaluate(nom.Name)) = "Range" Then Set plage = Union(IIf(plage Is Nothing, Range(nom.Name), plage), Range(nom.Name))
Next
If plage Is Nothing Then Exit Sub
With plage.Interior
    .Pattern = xlLightUp
    .PatternColorIndex = xlAutomatic
    .Color = 13434879
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With
End Sub
A+
 
- 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

Discussions similaires

Retour