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




A voir également:

3 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

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

Cordialement
0
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
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7 > ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention  
 
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
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7
 
Merci à toi. Fonctionne nickel...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7 > eriiic Messages postés 24603 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