effacer des bordures

grisan29

XLDnaute Accro
bonjour a tous
voici un code qui dessine les bordures de la ligne C19:M19 et O19:p19 jusque la dernière ligne écrite et cela peut importe le nombre de ligne écrite
Code:
Private Sub CommandButton1_Click()

Dim L As Long, I As Byte
 With Sheets("Feuil2")
   L = Application.Max(.[c65536].End(xlUp).Row, 19)
   
   With .Range("C19:p" & L)
     For I = 7 To 10
       .Borders(I).Weight = xlMedium
     Next
     .Offset(, 5).Resize(, 10).Borders(xlInsideVertical).Weight = xlMedium
     
     Union(.Columns("I:M"), .Columns("O:P")).VerticalAlignment = xlCenter
   End With
   .Range("C" & L + 1 & ":P" & .Rows.Count).Clear 'RAZ sous le tableau
   .Range("N19:N" & L).Borders(xlEdgeBottom).LineStyle = xlNone
   .Range("N19:N" & L).Borders(xlEdgeTop).LineStyle = xlNone
 End With

End Sub

mais je voudrais faire l'inverse soit effacer les bordures depuis la dernière ligne écrite jusque la ligne 19
mais je n'y arrive pas l'enregistreur me donne une plage sélectionnée mais pas la dernière

ci joint le classeur test
 

Pièces jointes

  • essai de bas de page.xlsm
    82.1 KB · Affichages: 44
Dernière édition:

jecherche

XLDnaute Occasionnel
Re : effacer des bordures

Bonjour,

Si on s'en tient au fichier joint ... Module1, bordure > place les bordures

Est si j'ai bien compris ...
Pour les enlever, copie le même code dans otebordure et mets en commentaire la ligne qui commence par "Union..."



Jecherche
 
Dernière modification par un modérateur:

grisan29

XLDnaute Accro
Re : effacer des bordures

bonsoir chris401,Jecherche et le forum

Code:
Sub otebordure()
Range("C19:P1000").Borders.Value = 0
End Sub
tu me dits cela mais c'est ce que l'enregistreur m'as fait en plus long :rolleyes:
comme les lignes sont écrient a partir de la ligne 19 et cela que ce soit 4 lignes d'écritent où 10,20....150...250 etc..le plus long fait est 5000
je voudrais pouvoir définir l'efface des bordures a partir de la dernière ligne écrite sans effacer les bordures de bas de page

Jecherche je vais essayer sans le "union"
 
Dernière édition:

grisan29

XLDnaute Accro
Re : effacer des bordures

bonjour chris401
oui c'est un oubli de précision dans le bon classeur les bas de pages descendent en même temps que l'ajout de ligne et je n'ai pas su le reproduire correctement et sont donc toujours présent

jecherche j'ai essayer sans "union "comme tu l'as dit et en effet cela efface les bodures mais fini par un bug erreur 438 méthode non géré
Code:
Sub otebordure()
Dim L As Long, n As Byte
With Sheets("commande")
  L = [b65000].End(xlUp).Row + 1
  .Range("c19:p" & L).Borders.LineStyle = xlNone
  For n = 0 To 3
  .Range ("c19:m" & L), Range("o19:p" & L).Borders(Array(7, 8, 10, 11)(n)).LineStyle = 1 'a cette ligne qui est jaunie
  Next
  .Range("c19:h" & L).Borders(11).LineStyle = xlNone
  .Range("c" & L & ":p" & L).Borders.LineStyle = xlNone
  .Range ("c" & L & ":m" & L), Range("o" & L & ":p" & L).Borders(8).LineStyle = 1
  End With
End Sub
 
Dernière édition:

grisan29

XLDnaute Accro
Re : effacer des bordures

bonsoir jecherche
dans le fichier envoyer oui ca foncrtionne bien mais la bordure basse n'est pas effacée, merci pour le lien sur l'erreur 438
pas tester assez loin
le mise en place des bordures s'arrete a la ligne 54 et ne descend as plus bas sur le classeur que tu as mis
sur le bon ca fonctionne sans enlever celle du bas
 
Dernière édition:

jecherche

XLDnaute Occasionnel
Re : effacer des bordures

Bonjour,

Ma cellule ne fonctionne pas toujours bien ... celles entre mes deux oreilles :p

Dans OterLigne ... garde les lignes débutant avec union ... mais, à la fin remplace le 1 par 0 sur les deux occurrences.


Jecherche
 

DoubleZero

XLDnaute Barbatruc
Re : effacer des bordures

Bonjour à toutes et à tous,

Une autre suggestion... moins élégante :eek: que celle de jecherche.

Code:
Option Explicit
Sub Quadrillage_supprimer()
    Range("b19").Name = "ici"
    Cells.Find(What:="Arrêté l*", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
               SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Offset(-4, 0).Name = "là"
    With Range("ici:là").Offset(, 0).Resize(, 15)
        .Borders(xlEdgeLeft).LineStyle = xlNone
        .Borders(xlEdgeBottom).LineStyle = xlNone
        .Borders(xlEdgeRight).LineStyle = xlNone
        .Borders(xlInsideVertical).LineStyle = xlNone
    End With
    With ActiveWorkbook: .Names("ici").Delete: .Names("là").Delete: End With
End Sub

A bientôt :)
 

grisan29

XLDnaute Accro
Re : effacer des bordures

bonjour doublezero

merci de ta réponse mais ton code déclenche un bug de méthode range où global échouée a la ligne
with range'"ici....... peut être a je mal mis les remplaçant, je te joint l'aperçu

et que vient faire "arreté 1*"
 

Pièces jointes

  • bugcode00.jpg
    bugcode00.jpg
    25.7 KB · Affichages: 54

DoubleZero

XLDnaute Barbatruc

Pièces jointes

  • 00 - grisan29 - Quadrillage supprimer.xlsm
    78.4 KB · Affichages: 52

Discussions similaires

Statistiques des forums

Discussions
314 203
Messages
2 107 178
Membres
109 773
dernier inscrit
sablin