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   -
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
A voir également:

2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

activecell.Borders.Weight = xlThin

eric
0
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   4
 
bonjour
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
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
0
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   4
 
bonjour
ca tombe bien j'ai aucune formule dans cette feuille donc ça ira je ferai le test ce soir
merci
a bientot
0
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   4
 
bonsoir
je mets la formule dans " Worksheet_Activate"
ca bloque
ca met "erreur d'execution1004
pas de cellules correspondantes"
j'ai bien mis la la formule ou il faut?
merci
a bientot
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
0
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   4
 
voila le fichier
https://www.cjoint.com/c/CAixSAPcGv5
merci
a bientot
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
0