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
519
Réponses
1
Affichages
250
Réponses
0
Affichages
220
Réponses
2
Affichages
424

Statistiques des forums

Discussions
313 209
Messages
2 096 240
Membres
106 541
dernier inscrit
edf