Menu

Mettre en forme les cellules non vides VBA [Résolu]

kalista - 3 janv. 2018 à 14:53 - Dernière réponse :  kalista
- 4 janv. 2018 à 10:15
Bonjour,

Alors voila, j'ai une macro qui récapitule plusieurs classeurs. Mon classeur récapitulatif se nomme RECAP.
Ce RECAP évolue tous les jours. Potentiellement, à chaque fois que la macro tourne, des lignes se rajoutent.

Je voudrais que la macro effectue une mise en forme (bordures noires fines) sur toutes les lignes qui contiennent des données. (seulement entre les colonnes B et J)

Le problème c'est qu'avec mon code actuel, je n'ai des bordures que sur les cellules non vides. Ce qui fait que sur une même ligne je peux avoir des cases avec des bordures et d'autres non.

Voici mon code :

   'Mise en forme du tableau
    Dim cellule As Range
For Each cellule In Range("B:J")
   If cellule <> "" Then cellule.Borders.Weight = xlThin
Next



Auriez-vous une solution pour m'aider svp ?

Merci de votre attention :)
Afficher la suite 

4 réponses

Répondre au sujet
Patrice33740 6799 Messages postés dimanche 13 juin 2010Date d'inscription 19 avril 2018 Dernière intervention - 3 janv. 2018 à 15:04
0
Utile
3
Bonjour,

Essaies :
Option Explicit
Sub test()
'Mise en forme du tableau
Dim r As Range
  With ActiveSheet 'ou autre
    Set r = Intersect(.UsedRange.EntireRow, .Columns("B:J"))
    r.Borders.LineStyle = xlContinuous
    r.Borders.Weight = xlThin
  End With
End Sub


Merci pour ta réponse mais le problème est qu'avec ce code toutes les lignes jusqu'à au moins celle 13080 sont mise en forme. Hors moi je n'ai de données que jusqu'à la ligne 543 pour le moment...
Patrice33740 6799 Messages postés dimanche 13 juin 2010Date d'inscription 19 avril 2018 Dernière intervention - 3 janv. 2018 à 21:59
il y a obligatoirement quelque chose, supprimes les lignes (entières) situées en dessous de tes données (ça les effacera)
Merci effectivement il y avait un soucis. Merci encore !
Commenter la réponse de Patrice33740