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

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #1411765
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



isabelle
Le #1411758
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"
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




Michel Pierron
Le #1411756
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" 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





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

Francis.




"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" 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









Michel Pierron
Le #1411742
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" news:%
Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"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" 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













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



"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" news:%
Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" 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" 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

















Michel Pierron
Le #1393425
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" news:
Sympa aussi la macro mais elle fait apparaître des
bordures cachées entre les tableaux :o((
Merci encore.....
Francis.



"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" news:%
Sympa MP
mais ta macro ne colorise que le cadre extérieur :-((
merci quand même Snif....

Francis.




"Michel Pierron" 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" 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





















sabatier
Le #1411730
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" news:

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



"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" news:%

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

Francis.




"Michel Pierron"

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" 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






















Herdet
Le #1411699
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" 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" news:

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



"Michel Pierron" 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" news:%

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

Francis.




"Michel Pierron"

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" 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

























sabatier
Le #1394255
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" 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" news:


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



"Michel Pierron"

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" news:%


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

Francis.




"Michel Pierron"

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" 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
























Publicité
Poster une réponse
Anonyme