XL 2016 Ajouter une bordure sur dernière ligne insérée

patrick60880

XLDnaute Nouveau
Bonjour à tout le forum. Ma question est peut-être simpliste mais je n'y arrive pas. Voilà, j'insère plusieurs lignes dans une feuille par le biais d'un userform. J'aimerais appliquer une bordure basse sur la dernière ligne insérée.

Voici le code de mon bouton qui insère les lignes:

Private Sub CommandButton1_Click()

Set f2 = Sheets("Commandes")
If Me.TextBox14 = "" Then
MsgBox "saisir un numéro de commande!"
Me.TextBox14.SetFocus
Exit Sub
End If

ligne = f2.[A65000].End(xlUp).Row + 1

f2.Cells(ligne, 1) = Me.TextBox14
f2.Cells(ligne, 2) = Me.TextBox1
f2.Cells(ligne, 3) = Me.TextBox15
f2.Cells(ligne, 4) = Me.ComboBox3
f2.Cells(ligne, 8) = Me.TextBox13
f2.Cells(ligne, 15) = Textbox11.Value * TextBox15.Value
'Format(TextBox16.Value, "0.#0 €")

Me.TextBox1 = ""
Me.Textbox2 = ""
Me.Textbox3 = ""
Me.Textbox4 = ""
Me.Textbox5 = ""
Me.TextBox6 = ""
Me.Textbox7 = ""
Me.TextBox8 = ""
Me.TextBox9 = ""
Me.TextBox10 = ""
Me.Textbox11 = ""
Me.TextBox12 = ""
Me.TextBox15 = ""
End Sub


Merci beaucoup pour votre aide
 

patrick60880

XLDnaute Nouveau
ce code fonctionne très bien mais donne une bordure infinie:

With f2.Rows(ligne).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
End With

Le dernier code
f2.Range(Cells(ligne, 1), Cells(ligne, 17)).Borders(xlEdgeBottom).LineStyle = xlContinuous
me renvoie une erreur.

Merci encore pour ton aide
 

patrick60880

XLDnaute Nouveau
Je ne comprends pas. Le code me renvoie cette erreur:

1594028671409.png
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Testez ce petit fichier avec cette macro pour voir.
VB:
Sub Souligner()
ligne = [E3]
Sheets("Feuil1").Range(Cells(ligne, 1), Cells(ligne, 17)).Borders(xlEdgeBottom).LineStyle = xlContinuous
End Sub
Chez moi, sous XL2007, ça marche impeccable.
plus un second test avec :
Code:
Sub Souligner2()
ligne = [E3]
Sheets("Feuil1").Range("A" & ligne & ":Q" & ligne).Borders(xlEdgeBottom).LineStyle = xlContinuous
End Sub

Plus un troisième type pour voir toutes les configurations. Evidemment les trois marchent chez moi.
 

Pièces jointes

  • Soulignage.xlsm
    16.6 KB · Affichages: 10
Dernière édition:

patrick60880

XLDnaute Nouveau
Merci sylvanu,

Finalement, j'ai créé un autre bouton, juste pour tracer une bordure sur la dernière ligne. Il fallait juste sélectionner la feuille. Voici le code:
Private Sub CommandButton2_Click()
Set f2 = Sheets("Commandes")
Worksheets("Commandes").Activate
ligne = f2.[A65000].End(xlUp).Row
Range("A" & ligne & ":Q" & ligne).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
End Sub

Encore un grand merci pour votre aide
 

patrick60880

XLDnaute Nouveau
Pour être plus clair, Mon userform prends les données dans une feuille nommée "Inventaire" et écrit les lignes dans une autre feuille nommée "Commandes". Dans l'initialisation il y avait bien 2 données f pour la première feuille et f2 pour la seconde. Dans le dernier code que vous m'avez donné, la bordure était tracée sur la Première feuille (je ne sais pas pourquoi), donc, il fallait absolument activer la seconde feuille pour trouver la dernière ligne écrite et tracer la bordure.
 

Discussions similaires

Réponses
17
Affichages
729
Réponses
7
Affichages
1 K

Statistiques des forums

Discussions
314 653
Messages
2 111 578
Membres
111 205
dernier inscrit
Adrien25