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

Colorier les bordures dans des classeurs par macro sans en changer le formatage ;-))

10 réponses
Avatar
Francis
Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis
gtoukc@wanadoo.fr

10 réponses

Avatar
isabelle
bonjour Francis,

si les cellules ont tous le même format de bordure, tu pourrais adapter
cette exemple à ta macro.

For i = 1 To 4
With ActiveSheet.UsedRange.Borders.Item(i)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 21
End With
Next

isabelle


Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis



Avatar
isabelle
une autre posibilité, si les tableau sont tous de format identique,
serait de coller un patron ou d'appliquer un style.

isabelle


Isa,

Non justement, mes tableaux sont hyper complexes et pratiquement chaque
cellule a un format de bordure
différent de sa voisine

Merci quand même :-))
Francis.

"isabelle" a écrit dans le message de news:

bonjour Francis,

si les cellules ont tous le même format de bordure, tu pourrais adapter
cette exemple à ta macro.

For i = 1 To 4
With ActiveSheet.UsedRange.Borders.Item(i)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 21
End With
Next

isabelle


Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis




[Image]

Name: sig.jsp?pc=ZSzeb038
sig.jsp?pc=ZSzeb038 Type: type non spécifié (application/octet-stream)
Encoding: x-uuencode




Avatar
Michel Pierron
Bonjour Francis;

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.BorderAround Weight:=xlThick, ColorIndex:!
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:uL1lb$
Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis





Avatar
Francis
Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" a écrit dans le message de news:

Bonjour Francis;

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.BorderAround Weight:=xlThick, ColorIndex:!
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:uL1lb$
Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis









Avatar
Michel Pierron
Re Francis;
Excuse moi, je n'avais pas tout compris; tu peux faire un mixte de la procédure
d'Isabelle. Le temps de traitement sera un tantinet plus long:
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
Ep = cel.Borders.Item(i).Weight
cel.Borders.Item(i).Weight = Ep
cel.Borders.Item(i).ColorIndex = 21
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:%
Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" a écrit dans le message de news:

Bonjour Francis;

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.BorderAround Weight:=xlThick, ColorIndex:!
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:uL1lb$
Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis













Avatar
Francis
Sympa aussi la macro mais elle fait apparaître des
bordures cachées entre les tableaux :o((
Merci encore.....
Francis.



"Michel Pierron" a écrit dans le message de news:

Re Francis;
Excuse moi, je n'avais pas tout compris; tu peux faire un mixte de la
procédure

d'Isabelle. Le temps de traitement sera un tantinet plus long:
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
Ep = cel.Borders.Item(i).Weight
cel.Borders.Item(i).Weight = Ep
cel.Borders.Item(i).ColorIndex = 21
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:%
Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" a écrit dans le message de
news:



Bonjour Francis;

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.BorderAround Weight:=xlThick, ColorIndex:!
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:uL1lb$
Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis

















Avatar
Michel Pierron
Alors une autre:

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
If cel.Borders(1).LineStyle <> -4142 Then
ep = cel.Borders.Item(i).Weight
st = cel.Borders.Item(i).LineStyle
cel.Borders.Item(i).Weight = ep
cel.Borders.Item(i).ColorIndex = 21
cel.Borders.Item(i).LineStyle = st
End If
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:
Sympa aussi la macro mais elle fait apparaître des
bordures cachées entre les tableaux :o((
Merci encore.....
Francis.



"Michel Pierron" a écrit dans le message de news:

Re Francis;
Excuse moi, je n'avais pas tout compris; tu peux faire un mixte de la
procédure

d'Isabelle. Le temps de traitement sera un tantinet plus long:
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
Ep = cel.Borders.Item(i).Weight
cel.Borders.Item(i).Weight = Ep
cel.Borders.Item(i).ColorIndex = 21
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:%
Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" a écrit dans le message de
news:



Bonjour Francis;

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.BorderAround Weight:=xlThick, ColorIndex:!
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:uL1lb$
Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis





















Avatar
sabatier
ah! l'indentation, c'est quand même quelque chose....
j
p
s
m
v
p
h
s



Michel Pierron a écrit:
Alors une autre:

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
If cel.Borders(1).LineStyle <> -4142 Then
ep = cel.Borders.Item(i).Weight
st = cel.Borders.Item(i).LineStyle
cel.Borders.Item(i).Weight = ep
cel.Borders.Item(i).ColorIndex = 21
cel.Borders.Item(i).LineStyle = st
End If
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:

Sympa aussi la macro mais elle fait apparaître des
bordures cachées entre les tableaux :o((
Merci encore.....
Francis.



"Michel Pierron" a écrit dans le message de news:


Re Francis;
Excuse moi, je n'avais pas tout compris; tu peux faire un mixte de la


procédure

d'Isabelle. Le temps de traitement sera un tantinet plus long:
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
Ep = cel.Borders.Item(i).Weight
cel.Borders.Item(i).Weight = Ep
cel.Borders.Item(i).ColorIndex = 21
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:%

Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" a écrit dans le message de


news:




Bonjour Francis;

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.BorderAround Weight:=xlThick, ColorIndex:!
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:uL1lb$

Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis






















Avatar
Herdet
Salut à toi O grand BiscotteUnScudJpsabatdelaile
Décodage pour les non initiés :
Jeune
Premier
Sous-doué
Mais
Volontaire
Pour
Haranguer
Sans
Vergogne.....heuh, manquait une ligne dans ta sub.

Le concours d'interpretations est ouvert !

:-))))) :-D
Robert



"sabatier" a écrit dans le message
de news:
ah! l'indentation, c'est quand même quelque chose....
j
p
s
m
v
p
h
s



Michel Pierron a écrit:
Alors une autre:

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
If cel.Borders(1).LineStyle <> -4142 Then
ep = cel.Borders.Item(i).Weight
st = cel.Borders.Item(i).LineStyle
cel.Borders.Item(i).Weight = ep
cel.Borders.Item(i).ColorIndex = 21
cel.Borders.Item(i).LineStyle = st
End If
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:

Sympa aussi la macro mais elle fait apparaître des
bordures cachées entre les tableaux :o((
Merci encore.....
Francis.



"Michel Pierron" a écrit dans le message de
news:





Re Francis;
Excuse moi, je n'avais pas tout compris; tu peux faire un mixte de la


procédure

d'Isabelle. Le temps de traitement sera un tantinet plus long:
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
Ep = cel.Borders.Item(i).Weight
cel.Borders.Item(i).Weight = Ep
cel.Borders.Item(i).ColorIndex = 21
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:%

Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" a écrit dans le message de


news:




Bonjour Francis;

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.BorderAround Weight:=xlThick, ColorIndex:!
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:uL1lb$

Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis

























Avatar
sabatier
non, manquait rien : regarde, robert, Ô toi l'infâme calomniateur
jps

Herdet a écrit:
Salut à toi O grand BiscotteUnScudJpsabatdelaile
Décodage pour les non initiés :
Jeune
Premier
Sous-doué
Mais
Volontaire
Pour
Haranguer
Sans
Vergogne.....heuh, manquait une ligne dans ta sub.
Gogne



Le concours d'interpretations est ouvert !

:-))))) :-D
Robert



"sabatier" a écrit dans le message
de news:

ah! l'indentation, c'est quand même quelque chose....
j
p
s
m
v
p
h
s



Michel Pierron a écrit:

Alors une autre:

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
If cel.Borders(1).LineStyle <> -4142 Then
ep = cel.Borders.Item(i).Weight
st = cel.Borders.Item(i).LineStyle
cel.Borders.Item(i).Weight = ep
cel.Borders.Item(i).ColorIndex = 21
cel.Borders.Item(i).LineStyle = st
End If
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:


Sympa aussi la macro mais elle fait apparaître des
bordures cachées entre les tableaux :o((
Merci encore.....
Francis.



"Michel Pierron" a écrit dans le message de


news:






Re Francis;
Excuse moi, je n'avais pas tout compris; tu peux faire un mixte de la


procédure


d'Isabelle. Le temps de traitement sera un tantinet plus long:
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
For Each cel In sh.UsedRange
For i = 1 To 4
Ep = cel.Borders.Item(i).Weight
cel.Borders.Item(i).Weight = Ep
cel.Borders.Item(i).ColorIndex = 21
Next
Next
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:%


Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" a écrit dans le message de


news:






Bonjour Francis;

Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.BorderAround Weight:=xlThick, ColorIndex:!
Next
Next
End Sub

MP

"Francis" a écrit dans le message de
news:uL1lb$


Re-bonjour

J'ai récupéré une macro sympa pour cela
Sub Remplir()
For Each wb In Workbooks
For Each sh In wb.Sheets
sh.UsedRange.Borders.ColorIndex = 21
Next
Next
End Sub
mais malheureusement,
en coloriant les bordures, celles-ci sont reformatées à la même
épaisseur et je perds ainsi formatage des cadres qui sont ( par
définition ) plus épais :- (((
Merci à celui ou celle qui me donnera la solution ;-))
Francis