Formater cellule si pleine
Résolu
surplus
Messages postés
673
Date d'inscription
Statut
Membre
Dernière intervention
-
surplus Messages postés 673 Date d'inscription Statut Membre Dernière intervention -
surplus Messages postés 673 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une macro qui encadre la cellule quand elle est remplie
Sub encadrer_si()
Dim cellule As Range
For Each cellule In Range("A1:H10000")
If cellule <> "" Then cellule.Borders.Weight = xlThin
Next
End Sub
elle fonctionne mais me calcule toute la feuille et est trop longue et bloque
comment ne formater que la cellule active?
merci de votre aide
a bientot
j'ai une macro qui encadre la cellule quand elle est remplie
Sub encadrer_si()
Dim cellule As Range
For Each cellule In Range("A1:H10000")
If cellule <> "" Then cellule.Borders.Weight = xlThin
Next
End Sub
elle fonctionne mais me calcule toute la feuille et est trop longue et bloque
comment ne formater que la cellule active?
merci de votre aide
a bientot
A voir également:
- Formater cellule si pleine
- Boite gmail pleine - Guide
- Formater clé usb - Guide
- Formater son pc - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
2 réponses
Bonjour,
L'enregistreur de macro a bien fonctionné chez moi.
Par contre avec la MFC toutes les cellules se retrouvent encadrées, même les vides...
Ca tombe bien car il y a mieux. Je te propose (sans boucle) :
Union(Cells.SpecialCells(xlCellTypeFormulas, 23), Cells.SpecialCells(xlCellTypeConstants, 23)).Borders.Weight = xlThin
Par contre les cellules avec formule retournant "" seront également encadrées.
eric
L'enregistreur de macro a bien fonctionné chez moi.
Par contre avec la MFC toutes les cellules se retrouvent encadrées, même les vides...
Ca tombe bien car il y a mieux. Je te propose (sans boucle) :
Union(Cells.SpecialCells(xlCellTypeFormulas, 23), Cells.SpecialCells(xlCellTypeConstants, 23)).Borders.Weight = xlThin
Par contre les cellules avec formule retournant "" seront également encadrées.
eric
Ce n'est pas à faire qu'une fois ?
"pas de cellules correspondantes" c'est que toutes tes cellules sont vides. Traiter l'erreur si ce cas peut arriver :
on error resume next
Union(Cells.SpecialCells(xlCellTypeFormulas, 23), Cells.SpecialCells(xlCellTypeConstants, 23)).Borders.Weight = xlThin
on error goto 0
Sinon déposer un fichier.
eric
"pas de cellules correspondantes" c'est que toutes tes cellules sont vides. Traiter l'erreur si ce cas peut arriver :
on error resume next
Union(Cells.SpecialCells(xlCellTypeFormulas, 23), Cells.SpecialCells(xlCellTypeConstants, 23)).Borders.Weight = xlThin
on error goto 0
Sinon déposer un fichier.
eric
Ca marche très bien.
Seulement ce n'est pas toutes les cellules comme demandé, mais 10 colonnes à partir de la ligne 4 que tu veux :
On Error Resume Next
Range([A4], [A4].End(xlDown)).Resize(, 11).SpecialCells(xlCellTypeConstants, 23).Borders.Weight = xlThin
On Error GoTo 0
https://www.cjoint.com/c/CAjab1Po5KU
eric
Seulement ce n'est pas toutes les cellules comme demandé, mais 10 colonnes à partir de la ligne 4 que tu veux :
On Error Resume Next
Range([A4], [A4].End(xlDown)).Resize(, 11).SpecialCells(xlCellTypeConstants, 23).Borders.Weight = xlThin
On Error GoTo 0
https://www.cjoint.com/c/CAjab1Po5KU
eric
en fait ça va pas car c'est une feuille qui est générée par macro donc en fait on a rien a remplir a la main
parce que en fait je le fais avec la mise en forme conditionnelle mais comme la feuille est générée chaque fois les plages s'effacent et ma mise en forme bouge
en fait il faudrait une mise en forme conditionnelle sous macro .
mais l'enregistreur de macros ne le prends pas
quelle solution?
merci
a bientot