Microsoft 365 Erreur de code

Marvin57

XLDnaute Occasionnel
Bonjour tout le monde,

Ci-dessous ce trouve un code qui sert à enregistrer des données via un userform, dans un tableau structuré (Tableau35) de l'onglet "TRAVAUX".

Or, j'ai remarqué que lorsque je saisi une seconde entrée de données, via mon userform, il place les données en dehors du tableau, c'est à dire une ligne en dessous.

Pourriez-vous me dire pourquoi il me fait cela SVP.

Merci d'avance à vous.

Marvin57

Private Sub btnValider_Click()

Set Ws = Sheets("TRAVAUX")
Set Wd = Sheets("SEMAINE")
If Me.btnValider.Caption = "VALIDER" Then
If Me.TextBox1 = "" Or Me.TextBox2 = "" Or Me.ComboBox1 = "" Then
MsgBox "Veuillez renseignez toutes les données !", vbInformation, "Données manquantes"
Me.TextBox1.SetFocus
Exit Sub
End If
Dl = Ws.Range("A" & Rows.Count).End(xlUp).Row + 1
Ws.Cells(Dl, 1).Value = CDate(Me.TextBox1.Value)
Ws.Cells(Dl, 1).NumberFormat = "m/d/yyyy"
Ws.Cells(Dl, 2).Value = Me.ComboBox1.Value
Ws.Cells(Dl, 3).Value = Me.TextBox2.Value

ElseIf Me.btnValider.Caption = "MODIFIER" Then
Ws.Cells(Me.LigneRDV, 1).Value = CDate(Me.TextBox1.Value)
Ws.Cells(Me.LigneRDV, 1).NumberFormat = "m/d/yyyy"
Ws.Cells(Me.LigneRDV, 2).Value = Me.ComboBox1.Value
Ws.Cells(Me.LigneRDV, 3).Value = Me.TextBox2.Value

End If
InitListBox
Unload Me
End Sub
 
Solution
Bonjour @Marvin57 ;),
Bonjour @vgendron :),

Un exemple (parmi d'autres possibles) pour ajouter une ligne dans un tableau structuré de la feuille "Feuil1" (le TS comprenant la cellule A1) :
VB:
Option Explicit

Sub AjouterLigne()
   With Worksheets("Feuil1").Range("a1").ListObject.ListRows.Add
      .Range(1, 1) = 98123.4
      .Range(1, 1).NumberFormat = "#,##0.00"
      .Range(1, 2) = "tata"
      .Range(1, 3) = "toto"
      .Range(1, 4) = "tata"
   End With
End Sub

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Marvin57 ;),
Bonjour @vgendron :),

Un exemple (parmi d'autres possibles) pour ajouter une ligne dans un tableau structuré de la feuille "Feuil1" (le TS comprenant la cellule A1) :
VB:
Option Explicit

Sub AjouterLigne()
   With Worksheets("Feuil1").Range("a1").ListObject.ListRows.Add
      .Range(1, 1) = 98123.4
      .Range(1, 1).NumberFormat = "#,##0.00"
      .Range(1, 2) = "tata"
      .Range(1, 3) = "toto"
      .Range(1, 4) = "tata"
   End With
End Sub
 

Pièces jointes

  • Marvin57- ajouter ligne dans TS- v1.xlsm
    17.6 KB · Affichages: 1
Dernière édition:

Marvin57

XLDnaute Occasionnel
Bonjour @Marvin57 ;),
Bonjour @vgendron :),

Un exemple (parmi d'autres possibles) pour ajouter une ligne dans un tableau structuré de la feuille "Feuil1" (le TS comprenant la cellule A1) :
VB:
Option Explicit

Sub AjouterLigne()
   With Worksheets("Feuil1").Range("a1").ListObject.ListRows.Add
      .Range(1, 1) = 98123.4
      .Range(1, 1).NumberFormat = "#,##0.00"
      .Range(1, 2) = "tata"
      .Range(1, 3) = "toto"
      .Range(1, 4) = "tata"
   End With
End Sub
Bonjour mapomme,

Merci pour ton aide, je vais mettre cela en place et voir si ça marche dans mon fichier réel.
Je vous tiendrai informé.

A+
Marvin57 ;)
 

Marvin57

XLDnaute Occasionnel
Bonjour @Marvin57 ;),
Bonjour @vgendron :),

Un exemple (parmi d'autres possibles) pour ajouter une ligne dans un tableau structuré de la feuille "Feuil1" (le TS comprenant la cellule A1) :
VB:
Option Explicit

Sub AjouterLigne()
   With Worksheets("Feuil1").Range("a1").ListObject.ListRows.Add
      .Range(1, 1) = 98123.4
      .Range(1, 1).NumberFormat = "#,##0.00"
      .Range(1, 2) = "tata"
      .Range(1, 3) = "toto"
      .Range(1, 4) = "tata"
   End With
End Sub
Bonjour mapomme,

j'ai mis en place ton code et cela me convient très bien. 👍

Merci pour ton aide et a une prochaine fois.👋

Marvin57
 

Discussions similaires

Réponses
17
Affichages
808
Réponses
1
Affichages
430
Réponses
0
Affichages
352

Statistiques des forums

Discussions
315 087
Messages
2 116 084
Membres
112 655
dernier inscrit
fannycordi