Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

effacer des bordures

  • Initiateur de la discussion Initiateur de la discussion grisan29
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

grisan29

XLDnaute Accro
bonjour a tous
voici un code qui dessine les bordures de la ligne C19:M19 et O19😛19 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

Dernière édition:
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:
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 🙄
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:
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:
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:
Re : effacer des bordures

Bonjour,

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

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


Jecherche
 
Re : effacer des bordures

Bonjour à toutes et à tous,

Une autre suggestion... moins élégante 😱 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 🙂
 
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
    25.7 KB · Affichages: 56

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
14
Affichages
439
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
880
Réponses
8
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…