Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tableau avec mise en forme des bordures

6 réponses
Avatar
luck82
Bonjour;
J'ai créé un application (code en bas du post) pour faire une mise en forme
automatique des bordures sur mon tableau excel.
Mon problème c'est que ce code s'applique uniquement sur
"Range("a1:t100").Select". Ce que je voudrai faire, c'est l'appliquer de la
même manière (mise en forme de Colonne A a T) mais en ce référant au plage
nommées de mon tableau.
Mon tableau va de la colonne A à T et les plage nommées sont dans la colonne
A.
Voila, j'ai beau chercher sur internet mais je trouve pas la solution.
Désolé si la solution vous parait simpliste mais je suis vraiment une buse
en VBA;
Merci de votre aide.

Sub mise_en_forme()
'
' mise_en_forme Macro
'
' Touche de raccourci du clavier: Ctrl+a
'
Range("a1:t100").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub

6 réponses

Avatar
Jean-marc
"luck82" a écrit dans le message de news:
%
Bonjour;



Hello,


J'ai créé un application (code en bas du post) pour faire une mise en
forme
automatique des bordures sur mon tableau excel.



le groupe le plus adapté à ta question est :
microsoft.public.fr.excel

Bonne suite :-)

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
JLuc
Tu peux écrire ça ainsi :

Plages_nommees =Array("Toto", "Tata", "Titi")
For Each Plage In Plages_nommee
With Range(Plage)
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Next

Attention, pas testé mais devrait aller :oÞ

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O
Avatar
JLuc
JLuc vient de nous annoncer :
Plages_nommees =Array("Toto", "Tata", "Titi")
For Each Plage In Plages_nommee
With Range(Plage)



Oups, petite erreur :
For Each Plage In Plages_nommees 'j'ai oublié le "s" à la fin

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O
Avatar
luck82
Merci d'avoir répondu.
Je ne l'ais pas précisé au début et je m'en excuse mais en fait je voudrais
que la macro cherche automatiquement les plages, efface les bordures
existantes et applique les nouvelles... .
En effet, j'ai plus de 100 plages au nom compliqués et je suis amené a en
rajouter au fil du temps.

Bonne soiré

"JLuc" a écrit dans le message de
news:
JLuc vient de nous annoncer :
> Plages_nommees =Array("Toto", "Tata", "Titi")
> For Each Plage In Plages_nommee
> With Range(Plage)

Oups, petite erreur :
For Each Plage In Plages_nommees 'j'ai oublié le "s" à la fin

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O




Avatar
JLuc
Alors, comme ceci :

For Each Plage In ActiveWorkbook.Names
With Range(Plage)
.Borders(xlDiagonalDown).LineStyle = xlNone
...
Next

luck82 a couché sur son écran :
Merci d'avoir répondu.
Je ne l'ais pas précisé au début et je m'en excuse mais en fait je voudrais
que la macro cherche automatiquement les plages, efface les bordures
existantes et applique les nouvelles... .
En effet, j'ai plus de 100 plages au nom compliqués et je suis amené a en
rajouter au fil du temps.

Bonne soiré

"JLuc" a écrit dans le message de
news:
JLuc vient de nous annoncer :
Plages_nommees =Array("Toto", "Tata", "Titi")
For Each Plage In Plages_nommee
With Range(Plage)



Oups, petite erreur :
For Each Plage In Plages_nommees 'j'ai oublié le "s" à la fin

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O
Avatar
luck82
Merci pour le conseil, je vais essayé de mettre ca en forme
Cordialement


"JLuc" a écrit dans le message de
news:
Alors, comme ceci :

For Each Plage In ActiveWorkbook.Names
With Range(Plage)
.Borders(xlDiagonalDown).LineStyle = xlNone
...
Next

luck82 a couché sur son écran :
> Merci d'avoir répondu.
> Je ne l'ais pas précisé au début et je m'en excuse mais en fait je


voudrais
> que la macro cherche automatiquement les plages, efface les bordures
> existantes et applique les nouvelles... .
> En effet, j'ai plus de 100 plages au nom compliqués et je suis amené a


en
> rajouter au fil du temps.
>
> Bonne soiré
>
> "JLuc" a écrit dans le message de
> news:
>> JLuc vient de nous annoncer :
>>> Plages_nommees =Array("Toto", "Tata", "Titi")
>>> For Each Plage In Plages_nommee
>>> With Range(Plage)
>>
>> Oups, petite erreur :
>> For Each Plage In Plages_nommees 'j'ai oublié le "s" à la fin
>>
>> --
>> ____
>> ( O | O )
>> --
>> _oooO_ JLuc _Oooo_
>>
>> O-O

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O