Sélection de plusieurs cellules pour y appliquer mise en forme
6 réponses
Christian de BXL
Bonsoir à tous,
Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est
possible de les sélectionner successivement en maintenant la touche Ctrl
enfoncée, puis de leur appliquer une couleur de remplissage.
J'ai créé une macro permettant de mettre une couleur de remplissage et une
barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir
sélectionner plusieurs cellules et y appliquer cette mise en forme d'un seul
coup comme dans l'application de la couleur de remplissage.
En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule.
En essayant l'enregistreur de macro, il m'enregistre les coordonnées des
cellules sélectionnées de façon formelle.
Y a-t-il une solution?
Merci
Ma macro est la suivante:
Sub Oblique_Couleur_une_cellule2()
ActiveCell.Offset.Range("A1").Select
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonsoir, Chez moi, ta macro, allégée de :
ActiveCell.Offset.Range("A1").Select
applique la mise en forme sur l'ensemble des cellules sélectionnées -- Avec plaisir http://dj.joss.free.fr/trombine.htm Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Christian de BXL" a écrit dans le message de news:
Bonsoir à tous, Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est possible de les sélectionner successivement en maintenant la touche Ctrl enfoncée, puis de leur appliquer une couleur de remplissage. J'ai créé une macro permettant de mettre une couleur de remplissage et une barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir sélectionner plusieurs cellules et y appliquer cette mise en forme d'un seul coup comme dans l'application de la couleur de remplissage. En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule. En essayant l'enregistreur de macro, il m'enregistre les coordonnées des cellules sélectionnées de façon formelle. Y a-t-il une solution? Merci Ma macro est la suivante:
Sub Oblique_Couleur_une_cellule2()
ActiveCell.Offset.Range("A1").Select With Selection.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With Selection.Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With
End Sub
Bonsoir,
Chez moi, ta macro, allégée de :
ActiveCell.Offset.Range("A1").Select
applique la mise en forme sur l'ensemble des cellules sélectionnées
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Christian de BXL" <ChristiandeBXL@discussions.microsoft.com> a écrit dans
le message de news:B73ADCE3-0E99-43FE-AB67-19FDD569B0EE@microsoft.com...
Bonsoir à tous,
Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est
possible de les sélectionner successivement en maintenant la touche Ctrl
enfoncée, puis de leur appliquer une couleur de remplissage.
J'ai créé une macro permettant de mettre une couleur de remplissage et une
barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir
sélectionner plusieurs cellules et y appliquer cette mise en forme d'un
seul
coup comme dans l'application de la couleur de remplissage.
En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule.
En essayant l'enregistreur de macro, il m'enregistre les coordonnées des
cellules sélectionnées de façon formelle.
Y a-t-il une solution?
Merci
Ma macro est la suivante:
Sub Oblique_Couleur_une_cellule2()
ActiveCell.Offset.Range("A1").Select
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
applique la mise en forme sur l'ensemble des cellules sélectionnées -- Avec plaisir http://dj.joss.free.fr/trombine.htm Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Christian de BXL" a écrit dans le message de news:
Bonsoir à tous, Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est possible de les sélectionner successivement en maintenant la touche Ctrl enfoncée, puis de leur appliquer une couleur de remplissage. J'ai créé une macro permettant de mettre une couleur de remplissage et une barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir sélectionner plusieurs cellules et y appliquer cette mise en forme d'un seul coup comme dans l'application de la couleur de remplissage. En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule. En essayant l'enregistreur de macro, il m'enregistre les coordonnées des cellules sélectionnées de façon formelle. Y a-t-il une solution? Merci Ma macro est la suivante:
Sub Oblique_Couleur_une_cellule2()
ActiveCell.Offset.Range("A1").Select With Selection.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With Selection.Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With
End Sub
MichDenis
En supposant que ta plage de cellule est continue :
Ta macro va s'appliquer sur toute la plage A1:A10 de la feuille active du classeur actif. '------------------------------- Sub Oblique_Couleur_une_cellule2()
With Range("A1:C10") With .Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With .Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End With End Sub '-------------------------------
Si tu as des plages discontinue, tu peux faire ceci : Il arrive que ce type de syntaxe Range("A1:C10,G1:G15") bogue sans que l'on sache pourquoi... voir l'autre méthode plus bas ! '------------------------------------ Sub Oblique_Couleur_une_cellule2()
With Range("A1:C10,G1:G15") With .Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With .Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End With End Sub '------------------------------------
Mais je te conseille plutôt ceci :
'--------------------------------------- Sub Oblique_Couleur_une_cellule2()
Dim Arr() 'Tu listes tes plages de cellules Arr = Array("A1:C10", "G1:G15", "H45", "K32", "B40:C45")
For Each elt In Arr With Worksheets("Feuil1") 'nom feuille à adapter With .Range(elt) With .Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With .Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End With End With Next End Sub '---------------------------------------
"Christian de BXL" a écrit dans le message de news:
Bonsoir à tous, Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est possible de les sélectionner successivement en maintenant la touche Ctrl enfoncée, puis de leur appliquer une couleur de remplissage. J'ai créé une macro permettant de mettre une couleur de remplissage et une barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir sélectionner plusieurs cellules et y appliquer cette mise en forme d'un seul coup comme dans l'application de la couleur de remplissage. En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule. En essayant l'enregistreur de macro, il m'enregistre les coordonnées des cellules sélectionnées de façon formelle. Y a-t-il une solution? Merci Ma macro est la suivante:
Sub Oblique_Couleur_une_cellule2()
ActiveCell.Offset.Range("A1").Select With Selection.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With Selection.Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With
End Sub
En supposant que ta plage de cellule est continue :
Ta macro va s'appliquer sur toute la plage A1:A10 de la feuille
active du classeur actif.
'-------------------------------
Sub Oblique_Couleur_une_cellule2()
With Range("A1:C10")
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With .Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End With
End Sub
'-------------------------------
Si tu as des plages discontinue, tu peux faire ceci :
Il arrive que ce type de syntaxe Range("A1:C10,G1:G15")
bogue sans que l'on sache pourquoi... voir l'autre méthode plus bas !
'------------------------------------
Sub Oblique_Couleur_une_cellule2()
With Range("A1:C10,G1:G15")
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With .Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End With
End Sub
'------------------------------------
Mais je te conseille plutôt ceci :
'---------------------------------------
Sub Oblique_Couleur_une_cellule2()
Dim Arr()
'Tu listes tes plages de cellules
Arr = Array("A1:C10", "G1:G15", "H45", "K32", "B40:C45")
For Each elt In Arr
With Worksheets("Feuil1") 'nom feuille à adapter
With .Range(elt)
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With .Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End With
End With
Next
End Sub
'---------------------------------------
"Christian de BXL" <ChristiandeBXL@discussions.microsoft.com> a écrit dans le message de news:
B73ADCE3-0E99-43FE-AB67-19FDD569B0EE@microsoft.com...
Bonsoir à tous,
Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est
possible de les sélectionner successivement en maintenant la touche Ctrl
enfoncée, puis de leur appliquer une couleur de remplissage.
J'ai créé une macro permettant de mettre une couleur de remplissage et une
barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir
sélectionner plusieurs cellules et y appliquer cette mise en forme d'un seul
coup comme dans l'application de la couleur de remplissage.
En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule.
En essayant l'enregistreur de macro, il m'enregistre les coordonnées des
cellules sélectionnées de façon formelle.
Y a-t-il une solution?
Merci
Ma macro est la suivante:
Sub Oblique_Couleur_une_cellule2()
ActiveCell.Offset.Range("A1").Select
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
En supposant que ta plage de cellule est continue :
Ta macro va s'appliquer sur toute la plage A1:A10 de la feuille active du classeur actif. '------------------------------- Sub Oblique_Couleur_une_cellule2()
With Range("A1:C10") With .Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With .Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End With End Sub '-------------------------------
Si tu as des plages discontinue, tu peux faire ceci : Il arrive que ce type de syntaxe Range("A1:C10,G1:G15") bogue sans que l'on sache pourquoi... voir l'autre méthode plus bas ! '------------------------------------ Sub Oblique_Couleur_une_cellule2()
With Range("A1:C10,G1:G15") With .Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With .Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End With End Sub '------------------------------------
Mais je te conseille plutôt ceci :
'--------------------------------------- Sub Oblique_Couleur_une_cellule2()
Dim Arr() 'Tu listes tes plages de cellules Arr = Array("A1:C10", "G1:G15", "H45", "K32", "B40:C45")
For Each elt In Arr With Worksheets("Feuil1") 'nom feuille à adapter With .Range(elt) With .Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With .Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End With End With Next End Sub '---------------------------------------
"Christian de BXL" a écrit dans le message de news:
Bonsoir à tous, Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est possible de les sélectionner successivement en maintenant la touche Ctrl enfoncée, puis de leur appliquer une couleur de remplissage. J'ai créé une macro permettant de mettre une couleur de remplissage et une barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir sélectionner plusieurs cellules et y appliquer cette mise en forme d'un seul coup comme dans l'application de la couleur de remplissage. En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule. En essayant l'enregistreur de macro, il m'enregistre les coordonnées des cellules sélectionnées de façon formelle. Y a-t-il une solution? Merci Ma macro est la suivante:
Sub Oblique_Couleur_une_cellule2()
ActiveCell.Offset.Range("A1").Select With Selection.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With Selection.Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With
End Sub
PMO
Bonjour,
Essayez le code suivant :
'*********** Sub Oblique_Couleur_Selection() Dim R As Range Set R = Selection With R.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With R.Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Set R = Nothing End Sub '***********
Cordialement.
PMO Patrick Morange
Bonjour,
Essayez le code suivant :
'***********
Sub Oblique_Couleur_Selection()
Dim R As Range
Set R = Selection
With R.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With R.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Set R = Nothing
End Sub
'***********
'*********** Sub Oblique_Couleur_Selection() Dim R As Range Set R = Selection With R.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With R.Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Set R = Nothing End Sub '***********
Cordialement.
PMO Patrick Morange
MichDenis
| Set R = Selection
Avant d'utiliser cette ligne de code, il faudrait quand même que tu testes à savoir si l'objet sélectionné est une plage de cellules... Selection est un terme générique pour peu importe le type d'objet sélectionné dans l'application...
If TypeName(Selection) = "Range" Then
(un peu d'ergotage en ce lundi matin)
"PMO" <patrickPOINTmorangeAROBASElapostePOINTnet> a écrit dans le message de news:
Bonjour,
Essayez le code suivant :
'*********** Sub Oblique_Couleur_Selection() Dim R As Range Set R = Selection With R.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With R.Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Set R = Nothing End Sub '***********
Cordialement.
PMO Patrick Morange
| Set R = Selection
Avant d'utiliser cette ligne de code, il faudrait quand même
que tu testes à savoir si l'objet sélectionné est une plage de
cellules... Selection est un terme générique pour peu importe
le type d'objet sélectionné dans l'application...
If TypeName(Selection) = "Range" Then
(un peu d'ergotage en ce lundi matin)
"PMO" <patrickPOINTmorangeAROBASElapostePOINTnet> a écrit dans le message de news:
F71C298F-3609-4073-8928-E2E84721A185@microsoft.com...
Bonjour,
Essayez le code suivant :
'***********
Sub Oblique_Couleur_Selection()
Dim R As Range
Set R = Selection
With R.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With R.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Set R = Nothing
End Sub
'***********
Avant d'utiliser cette ligne de code, il faudrait quand même que tu testes à savoir si l'objet sélectionné est une plage de cellules... Selection est un terme générique pour peu importe le type d'objet sélectionné dans l'application...
If TypeName(Selection) = "Range" Then
(un peu d'ergotage en ce lundi matin)
"PMO" <patrickPOINTmorangeAROBASElapostePOINTnet> a écrit dans le message de news:
Bonjour,
Essayez le code suivant :
'*********** Sub Oblique_Couleur_Selection() Dim R As Range Set R = Selection With R.Borders(xlDiagonalUp) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = 15 End With With R.Interior .ColorIndex = 34 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Set R = Nothing End Sub '***********
Cordialement.
PMO Patrick Morange
PMO
Bonjour,
Vous avez parfaitement raison et il est donc plus que nécessaire d'inclure ce test pour éviter un bug.
Cordialement.
PMO Patrick Morange
Bonjour,
Vous avez parfaitement raison et il est donc plus
que nécessaire d'inclure ce test pour éviter un bug.
Vous avez parfaitement raison et il est donc plus que nécessaire d'inclure ce test pour éviter un bug.
Cordialement.
PMO Patrick Morange
Christian de BXL
Bonsoir à tous, Merci pour vos solutions. Celle de Philippe, la plus simple, fonctionne parfaitement et me convient. Elle me permet de sélectionner plusieurs cellules contigues ou non, dans ma feuille et de leur appliquer ma mise en forme den une seule fois. Encore merci Christian
Bonsoir à tous,
Merci pour vos solutions.
Celle de Philippe, la plus simple, fonctionne parfaitement et me convient.
Elle me permet de sélectionner plusieurs cellules contigues ou non, dans ma
feuille et de leur appliquer ma mise en forme den une seule fois.
Encore merci
Christian
Bonsoir à tous, Merci pour vos solutions. Celle de Philippe, la plus simple, fonctionne parfaitement et me convient. Elle me permet de sélectionner plusieurs cellules contigues ou non, dans ma feuille et de leur appliquer ma mise en forme den une seule fois. Encore merci Christian