Insertion bordure inférieure

Résolu
Bonjour.

Je continue mon "marché" sur la bible qu'est ce forum.

Je voudrais mettre une bordure inférieure au bas de chaque ligne de mon tableau.
Commencant A3:G3, se terminat A3000:G3000



J'ai ce code qui fonctionne bien, mais je ne sais pas comment le répéter:

Sub BordureInf()
With Worksheets("Feuil1").Range("A3:G3").Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 0
End With
End Sub

Il faudrait que cette macro se lance à l'ouverture du classeur.

Merci



--
Windows 8.1 Office 2013

3 réponses

  1. Bonjour

    Dim plage As Range
    Set plage = Range("A3:G3000")
    plage.Borders(xlEdgeBottom).LineStyle = xlContinuous
    plage.Borders(xlInsideHorizontal).LineStyle = xlContinuous

    Cordialement
    0
    1. Merci ccm81.
      Fonctionne à merveille.
      Question: Si je supprime ou ajoute des lignes, est-ce que ce code se mettra à jour à chaque ouverture du classeur ?
      0
    2. Non
      Le code s'applique à la plage définie ici
      Set plage = Range("A3:G3000")
      Donc, si tu dois modifier la structure de la feuille, il faudra
      1. Redéfinir ta plage
      2. Appliquer ta procédure à cette nouvelle plage

      Cordialement
      0
    3. @ccm81J'ai bien compris cela et t'en remercie.
      Ce que j'aimerai savoir, c'est si ce code se lance à chaque démarrage du classeur ?
      Merci
      0
  2. 1. Déclares publique la procédure chargée du formatage
    Public Sub OK()
    Dim plage As Range
    Set plage = Range("A3:G3000")
    plage.Borders(xlEdgeBottom).LineStyle = xlContinuous
    plage.Borders(xlInsideHorizontal).LineStyle = xlContinuous
    End Sub

    2. Et dans le module ThisWorkBook
    ajoutes la procédure qui lance OK à l'ouverture du classeur
    Private Sub Workbook_Open()
    Call OK
    End Sub
    0
    1. Merci à toi. Fonctionne nickel...
      0
  3. Contributeur
    Bonjour,

    Quelque chose m'échappe dans l'intérêt de ta demande...
    Si tu fais ton encadrement sur ta feuille, il reste à l'ouverture suivante.
    Si tu insères des lignes, elle prenne l'encadrement de la 1ère ligne.
    C'est quand qu'elle sert à quelque chose cette macro ?

    eric
    0
    1. Bonjour eriiic.

      En cas de mauvaise manip, d'effacement par erreur, etc...
      Car quand on modifie la bordure d'une cellule (par erreur ou pas), la fonction "retour", annulation de la dernière manip est inopérante.
      Cela m'assure d'avoir un tableau propre.
      0
    2. Contributeur
      Ok. Ce n'est pas le pire qui puisse être perdu mais bon :-)
      Si, l'annulation est possible normalement, y compris les encadrements.
      Ce n'est qu'en cas d'enregistrement ou de macro lancée que l'historique est supprimé.
      0
    3. @eriiicD'accord avec toi.
      Je dois donc avoir dans une macro, quelque chose qui produit cela.
      Maintenant, pour trouver quoi...
      0