Insertion bordure inférieure

Résolu
Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   -  
Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   -
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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

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

    Cordialement
    0
    1. Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7
       
      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. ccm81 Messages postés 11033 Statut Membre 2 434
       
      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
      1. Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7 > ccm81 Messages postés 11033 Statut Membre
         
        J'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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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. Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7
       
      Merci à toi. Fonctionne nickel...
      0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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. Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7
       
      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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
      1. Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7 > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        D'accord avec toi.
        Je dois donc avoir dans une macro, quelque chose qui produit cela.
        Maintenant, pour trouver quoi...
        0