Macro pour bordure de tableau

Bonjour à tous,

Je souhaite créer des bordures à mon tableau excel dont le nombre de ligne peut varier.
Les lignes sont complétées avec des formules qui renvois vides "" s'il n'y a pas de données.
Le problème est que la macro que j'ai écrite prends en compte ces formules et donc crée les bordures autours de ces cellules.
Si par la suite j'efface ces lignes, et refais tourner la macro elle continue de créer les bordures autour de ces cellules.
Je n'arrive pas trouver la solution peut être pouvez vous m'aider :)
Merci et bonne soirée à tout le monde !

Anaïs

Sub bordure()

Dim r As Range
  With ActiveSheet 
    Set r = Intersect(.UsedRange.EntireRow, .Columns("A:E"))
    r.Borders.LineStyle = xlContinuous
    r.Borders.Weight = xlThin
  End With
End Sub

Bonjour,

Sans voir le fichier cela semble difficile de vous aider...

A+

Bonjour,

Merci pour votre réponse , ci dessous le fichier.

Onglet tableau : tableau qui se met à jour et sur lequel la macro doit fonctionnner.

Les deux autres onglets sont des bases de données qui me permette de créer l'onglet tableau.

Merci !

7tableau.xltm (21.22 Ko)

bonsoir,

Sub bordure()
     With Sheets("Tableau").Range("A1").Resize(Application.Max(1, WorksheetFunction.CountA(Sheets("Données").Range("A1:A100"))), 5)
          .Resize(100).Borders.LineStyle = xlNone
          .Borders.LineStyle = xlContinuous
          .Borders.Weight = xlThin
          .Interior.ColorIndex = WorksheetFunction.RandBetween(3, 55)
     End With
End Sub

Bonsoir,

Autre proposition sans doute plus rapide si le tableau est important :

Sub bordure()
Dim rng
rng = Range("A1").CurrentRegion.Value
    For i = 1 To UBound(rng)
        If rng(i, 1) <> "" Then
            With Cells(i, 1).Resize(1, 5)
                .Borders.LineStyle = xlContinuous
                .Borders.Weight = xlThin
            End With
        End If
    Next
End Sub

A+

@Galopin01,

Autre proposition sans doute plus rapide

Vous êtes sûr de ça ??? une estimation rapide = 3 fois plus lent

...sans doute est une forme verbale exprimant une hypothèse probable pas une certitude !

A+

la preuve, dans un boucle (parce que le temps à mesurer est trop petit ) 10 fois les 2 macros.

Avec mon ordinateur sur 100 lignes pour les 2 macros :

la mienne = 0.2 sec

la votre = 1.2 sec

relation = 1/6 (au lieu de 1/3)

10tableau2.xlsm (30.95 Ko)

Bonjour,

Merci à tous les deux pour votre aide !

Bonne journée à tous !

Rechercher des sujets similaires à "macro bordure tableau"