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

Microsoft 365 Erreur de code

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 !

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
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

Dernière édition:
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 😉
 
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
 
- 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
10
Affichages
281
Réponses
5
Affichages
232
Réponses
5
Affichages
235
Réponses
1
Affichages
520
Réponses
0
Affichages
459
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…