Bordures d'un tableau

Bonjour à tous,

J'ai un problème que je pensais résoudre facilement...

J'ai dans ma feuille un tableau, dont le nombre de ligne va, bien sûr, augmenter...

J'essaie d'écrire le code qui encadre les cellules de ce tableau.

Mon code :

dim Dl as long
Dl = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
Feuil1.Range(Cells(3, "A"), Cells(Dl, "G")).BorderAround Weight:=xlThin
Feuil1.Range(Cells(3, "A"), Cells(Dl, "G")).Borders(xlInsideHorizontal):=xlThin

Il ne fonctionne pas... Quelqu'un peut m'expliquer pourquoi ??

Merci beaucoup

Bonne journée

Amicalement

14essai-v001.xls (16.50 Ko)

Bonjour,

remplacer la dernière ligne par :

Feuil1.Range(Cells(3, "A"), Cells(Dl, "G")).Borders(xlInsideHorizontal).Weight = xlThin

A+

Bonjour Galopin,

Alors j'ai suivi ta recommandation et j'ai changé mon code :

dim Dl as Long
Feuil1.Range(Cells(3, "A"), Cells(Dl, "G")).BorderAround.Weight = xlThin
Feuil1.Range(Cells(3, "A"), Cells(Dl, "G")).Borders(xlInsideHorizontal).Weight = xlThin

J'obtiens une erreur "La méthode Range de l'objet Worksheet a échoué"...

Merci de ton aide !

Bonjour,

L'erreur ne vient pas de cette ligne :

Une macro commence par Sub... et se termine par End Sub() .

Fournir le code intégral de cette macro.

A+

Le voici !

Private Sub Valider_Click()
Dim Dl As Long
If Option.Value = 0 And Option2 = 0 And Option3= 0 Then
MsgBox "Merci d'indiquer la raison de l'élimination?"
Else
ligne = ActiveCell.Row
If Option3.Value = True Then
TextBox1.Visible = True
End If
End If

Dl = Feuil3.Range("A" & Rows.Count).End(xlUp).Row
Feuil1.Range("A" & ligne & ":F" & ligne).Copy Feuil3.Cells(Dl + 1, 1)
If Option_Name = True Then Feuil3.[RaisonElimination].Rows(Dl - 1).Value = Option.Caption
If Option2 = True Then Feuil3.[RaisonElimination].Rows(Dl - 1).Value = Option2.Caption
If Option3 = True Then Feuil3.[RaisonElimination].Rows(Dl - 1).Value = TextBox1.Value                '[RaisonElimination] = colonne "G"
Feuil3.[SuppriméPar].Rows(Dl - 1).Value = ComboBox2.Value
Feuil3.Range(Cells(3, "A"), Cells(Dl, "G")).BorderAround.Weight = xlThin
Feuil3.Range(Cells(3, "A"), Cells(Dl, "G")).Borders(xlInsideHorizontal).Weight = xlThin

End Sub

Ce n'est guère possible de répondre à ce genre de question avec des classeurs symboliques.

des bribes de macros ou des macros d'Userform absents...

Avec des références à une feuille... On ne sait pas laquelle (celle d'ActiveCell sans doute...)

Dans ce USF tu fais référence à plusieurs feuilles.

Tu dois faire référence à l'objet feuille pour chaque range ou chaque cells de la formule

Dans une macro de Worksheet ça peut pardonner, dans un USF ça ne pardonne jamais :

Feuil3.Range(Cells(3, "A"), Cells(Dl, "G")).Borders(xlInsideHorizontal).Weight = xlThin ' pas glop !

il faut écrire :

Feuil3.Range(Feuil3.Cells(3, "A"), Feuil3.Cells(Dl, "G")).Borders(xlInsideHorizontal).Weight = xlThin

(idem pour la ligne précédente)

idem pour :

Dl = Feuil3.Range("A" & Feuil3.Rows.Count).End(xlUp).Row

Hum... ce n'est qu'une piste. Comme je ne peux pas déboguer faute de support, je ne peut pas tout deviner !

A+

Si, tu peux tout deviner !

Ca marche !!

Merci beaucoup !

Bonne journée,

Amicalement

Rechercher des sujets similaires à "bordures tableau"