VBS [Excel] : Mettre un ligne épaisse autour d'un groupe de cellules
12 réponses
o.0
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment
formater ces cellules afin d'avoir un cadre épais autour de ce lot de
cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Sachant que le code suivant me met un cadre fin autour de chaque cellule (ce
n'est donc pas le résultat escompté) :
Set objExcel = CreateObject("Excel.Application")
Set objRange = objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) ,
objExcel.Cells(Cells_Mission_End,Column))
objRange.Select
objExcel.Selection.Borders.LineStyle = 1 ---------> ?? que mettre ?
objExcel.Selection.Interior.ColorIndex = 0
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment formater ces cellules afin d'avoir un cadre épais autour de ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Tu vas dans excel tu passes en enregistrement de macro tu fais ta bordure large tu arretes l'enregistrement tu regarde le code généré automatiquement tu adaptes
Stephane
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment
formater ces cellules afin d'avoir un cadre épais autour de ce lot de
cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Tu vas dans excel
tu passes en enregistrement de macro
tu fais ta bordure large
tu arretes l'enregistrement
tu regarde le code généré automatiquement
tu adaptes
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment formater ces cellules afin d'avoir un cadre épais autour de ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Tu vas dans excel tu passes en enregistrement de macro tu fais ta bordure large tu arretes l'enregistrement tu regarde le code généré automatiquement tu adaptes
Stephane
Stephane D
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment formater ces cellules afin d'avoir un cadre épais autour de ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Je veins de xyeuter a priori faut que tu mettes la valeur 4. C'est super simple avec le mode pas à pas et l'inspecteur d'objet.
Stephane
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment
formater ces cellules afin d'avoir un cadre épais autour de ce lot de
cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Je veins de xyeuter a priori faut que tu mettes la valeur 4.
C'est super simple avec le mode pas à pas et l'inspecteur d'objet.
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment formater ces cellules afin d'avoir un cadre épais autour de ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Je veins de xyeuter a priori faut que tu mettes la valeur 4. C'est super simple avec le mode pas à pas et l'inspecteur d'objet.
Stephane
Jean-Claude BELLAMY
Dans le message news: , o.0 s'est ainsi exprimé:
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment formater ces cellules afin d'avoir un cadre épais autour de ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Sachant que le code suivant me met un cadre fin autour de chaque cellule (ce n'est donc pas le résultat escompté) :
Set objExcel = CreateObject("Excel.Application") Set objRange > objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) , objExcel.Cells(Cells_Mission_End,Column)) objRange.Select objExcel.Selection.Borders.LineStyle = 1 ---------> ?? que mettre ? L'épaisseur est définie par la propriété "Weight "
Et il faut indiquer quels "borders" sont concernés !
Set objExcel = CreateObject("Excel.Application") Set objRange = objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) , objExcel.Cells(Cells_Mission_End,Column)) objRange.Select
objExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone objExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone objExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone With objExcel.Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With objExcel.Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With objExcel.Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With objExcel.Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
Dans le message news:udOsSvPbFHA.1040@TK2MSFTNGP10.phx.gbl ,
o.0 <none@none.fr> s'est ainsi exprimé:
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS,
comment formater ces cellules afin d'avoir un cadre épais autour de
ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Sachant que le code suivant me met un cadre fin autour de chaque
cellule (ce n'est donc pas le résultat escompté) :
Set objExcel = CreateObject("Excel.Application")
Set objRange > objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) ,
objExcel.Cells(Cells_Mission_End,Column))
objRange.Select
objExcel.Selection.Borders.LineStyle = 1 ---------> ?? que mettre ?
L'épaisseur est définie par la propriété "Weight "
Et il faut indiquer quels "borders" sont concernés !
Set objExcel = CreateObject("Excel.Application")
Set objRange = objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) ,
objExcel.Cells(Cells_Mission_End,Column))
objRange.Select
objExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
objExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
objExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With objExcel.Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With objExcel.Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With objExcel.Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With objExcel.Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment formater ces cellules afin d'avoir un cadre épais autour de ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Sachant que le code suivant me met un cadre fin autour de chaque cellule (ce n'est donc pas le résultat escompté) :
Set objExcel = CreateObject("Excel.Application") Set objRange > objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) , objExcel.Cells(Cells_Mission_End,Column)) objRange.Select objExcel.Selection.Borders.LineStyle = 1 ---------> ?? que mettre ? L'épaisseur est définie par la propriété "Weight "
Et il faut indiquer quels "borders" sont concernés !
Set objExcel = CreateObject("Excel.Application") Set objRange = objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) , objExcel.Cells(Cells_Mission_End,Column)) objRange.Select
objExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone objExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone objExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone With objExcel.Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With objExcel.Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With objExcel.Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With With objExcel.Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThick .ColorIndex = xlAutomatic End With
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
o.0
Merci pour ton aide mais non. LE 4 donne des pointillés... et autour de chaque cellule...
Merci pour ton aide mais non.
LE 4 donne des pointillés... et autour de chaque cellule...
Merci pour ton aide mais non. LE 4 donne des pointillés... et autour de chaque cellule...
T'a pas essayé de faire avec la macro !
Tu modifies la mauvaise valeur .LineStyle = xlContinuous 'type de trait .Weight = 4 'taille du trait .ColorIndex = xlAutomatic 'couleur du trait
@+ Stephane
Fred
Dans le message :, o.0 disait :
Merci pour ton aide mais non. LE 4 donne des pointillés... et autour de chaque cellule...
Bonjour, Bon, j'ai fait la macro avec l'enregistreur (sous XL 2003)
8<-------------- 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 Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone 8<-------------------
Quand tu affectes un style de ligne à Borders, tu le fait pour toutes les bordures. Donc fais le en 4 fois avec les 4 bordures concernées. Atention, en vbs il faut remplacer les constantes xl...... par leur valeur ou bien les déclarer.
-- Fred
Dans le message :uEEPCQQbFHA.3200@tk2msftngp13.phx.gbl,
o.0 <none@none.fr> disait :
Merci pour ton aide mais non.
LE 4 donne des pointillés... et autour de chaque cellule...
Bonjour,
Bon, j'ai fait la macro avec l'enregistreur (sous XL 2003)
8<--------------
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
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
8<-------------------
Quand tu affectes un style de ligne à Borders, tu le fait pour toutes les
bordures.
Donc fais le en 4 fois avec les 4 bordures concernées.
Atention, en vbs il faut remplacer les constantes xl...... par leur valeur
ou bien les déclarer.
Merci pour ton aide mais non. LE 4 donne des pointillés... et autour de chaque cellule...
Bonjour, Bon, j'ai fait la macro avec l'enregistreur (sous XL 2003)
8<-------------- 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 Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone 8<-------------------
Quand tu affectes un style de ligne à Borders, tu le fait pour toutes les bordures. Donc fais le en 4 fois avec les 4 bordures concernées. Atention, en vbs il faut remplacer les constantes xl...... par leur valeur ou bien les déclarer.
-- Fred
papou
Bonjour Pour faire au plus court : objRange.BorderAround LineStyle:=xlContinuous, _ Weight:=xlMedium, ColorIndex:=xlColorIndexAutomatic
A adapter éventuellement
Cordialement Pascal
"o.0" a écrit dans le message de news:
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment formater ces cellules afin d'avoir un cadre épais autour de ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Sachant que le code suivant me met un cadre fin autour de chaque cellule (ce n'est donc pas le résultat escompté) :
Set objExcel = CreateObject("Excel.Application") Set objRange = objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) , objExcel.Cells(Cells_Mission_End,Column)) objRange.Select objExcel.Selection.Borders.LineStyle = 1 ---------> ?? que mettre ? objExcel.Selection.Interior.ColorIndex = 0
Bonjour
Pour faire au plus court :
objRange.BorderAround LineStyle:=xlContinuous, _
Weight:=xlMedium, ColorIndex:=xlColorIndexAutomatic
A adapter éventuellement
Cordialement
Pascal
"o.0" <none@none.fr> a écrit dans le message de news:
udOsSvPbFHA.1040@TK2MSFTNGP10.phx.gbl...
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment
formater ces cellules afin d'avoir un cadre épais autour de ce lot de
cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Sachant que le code suivant me met un cadre fin autour de chaque cellule
(ce
n'est donc pas le résultat escompté) :
Set objExcel = CreateObject("Excel.Application")
Set objRange = objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) ,
objExcel.Cells(Cells_Mission_End,Column))
objRange.Select
objExcel.Selection.Borders.LineStyle = 1 ---------> ?? que mettre ?
objExcel.Selection.Interior.ColorIndex = 0
Bonjour Pour faire au plus court : objRange.BorderAround LineStyle:=xlContinuous, _ Weight:=xlMedium, ColorIndex:=xlColorIndexAutomatic
A adapter éventuellement
Cordialement Pascal
"o.0" a écrit dans le message de news:
Bonjour,
Après avoir sélectionné un "Range" de cellules sous excel en VBS, comment formater ces cellules afin d'avoir un cadre épais autour de ce lot de cellules (et pas sur toutes les cellules)
Merci pour vos réponses,
Sachant que le code suivant me met un cadre fin autour de chaque cellule (ce n'est donc pas le résultat escompté) :
Set objExcel = CreateObject("Excel.Application") Set objRange = objExcel.Range(objExcel.Cells(Cells_Mission_Start,Column) , objExcel.Cells(Cells_Mission_End,Column)) objRange.Select objExcel.Selection.Borders.LineStyle = 1 ---------> ?? que mettre ? objExcel.Selection.Interior.ColorIndex = 0
Georges MAUREL
Bonjour, Stéphane a raison, le mode pas à pas est très simple. Voici donc ce qu'il faut mettre pour avoir un bord épais autour de la sélection