Mettre en forme les cellules non vides VBA
Résolu
kalista
-
kalista -
kalista -
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 :
Auriez-vous une solution pour m'aider svp ?
Merci de votre attention :)
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 :)
A voir également:
- Microsoft excel ne peut pas insérer de nouvelle cellule car cela déplacerait des cellules non vides
- Microsoft office - Guide
- Darkino nouvelle adresse - Guide
- Microsoft money - Télécharger - Comptabilité & Facturation
- Cette technique secrète permet d'avoir Windows et Microsoft Office gratuitement et à vie - Accueil - Bureautique
- Excel cellule couleur si condition texte - Guide
1 réponse
Bonjour,
Essaies :
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
kalista
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
Messages postés
8561
Date d'inscription
Statut
Membre
Dernière intervention
1 780
il y a obligatoirement quelque chose, supprimes les lignes (entières) situées en dessous de tes données (ça les effacera)
kalista
Merci effectivement il y avait un soucis. Merci encore !