Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Mise en forme automatique via VBA

66alex66

XLDnaute Nouveau
Bonjour,

J'aimerais solliciter votre aide concernant la problématique suivante :
Je dois réaliser une mise en forme d'un tableau de manière répétitive en insérant des bordures et en supprimant un surplus de lignes.

Je reçois donc ce tableau en format "brut" :



Et j'aimerais, si possible, obtenir ceci via VBA :

- Bordures fines à l'intérieur du tableau
- Grosses bordures pour séparer les différentes couleurs qui séparent le tableau en bloc
- Deux lignes vides en dessous du dernier index inséré dans la colonne L ou R



Un tout grand merci pour votre aide.
 

Pièces jointes

  • Mise en forme.xlsm
    11.7 KB · Affichages: 5

vgendron

XLDnaute Barbatruc
Bonjour

Pourquoi ne pas utiliser les tables structurées?
1) c'est facile à faire : Ctrl+L sur une des données de ton tableau
2) de nombreux styles prédéfinis existent
3) la Mise en forme des lignes est reproduite automatiquement à chaque ajout de ligne
 

66alex66

XLDnaute Nouveau

Merci beaucoup pour ta suggestion.
En réalité, je dois traiter des centaines de fichiers.
Je pense dès lors qu’une automatisation VBA pourrait me faire gagner pas mal de temps.
 

Staple1600

XLDnaute Barbatruc
Bonsoir

Un essai basique
Au préalable, effacer les bordures manuellement pour faire le test
VB:
Sub Essai_Bordures()
Dim lig&, i&, j&, col
col = Array("B", "C", "H", "N", "T")
lig = Cells(Rows.Count, "R").End(3)(3).Row
Range("A9").Resize(lig - 8, 20).Borders.Value = 1
For i = lig To 9 Step -1
If Len(Cells(i, 1)) Then
Cells(i, 1).Resize(, 20).Borders(xlEdgeTop).Weight = xlMedium
End If
Next
For j = LBound(col) To UBound(col)
Cells(9, col(j)).Resize(lig - 8).Borders(xlEdgeLeft).Weight = xlMedium
Next
Cells(lig, 1).Resize(, 20).Borders(xlEdgeBottom).Weight = xlMedium
End Sub
 

Discussions similaires

Réponses
8
Affichages
495
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…