ok , donc tu mettrais quoi ?Bonsoir AMIGOVBA, syllvanu,
"FAQ" est le nom d'une feuille alors que Range("FAQ") attend un nom définissant une plage.
A+
Private Sub Valider_Click()
Dim ligne As Long, Target As Range, NomImg As String
If [Tableau1].Item(1, 1) = "" Then ligne = 1 Else ligne = 1 + [Tableau1].ListObject.ListRows.Count
With Worksheets("FAQ")
.Activate
[Tableau1].Item(ligne, 1) = TextBox1.Value
[Tableau1].Item(ligne, 2) = TextBox2.Value
[Tableau1].Item(ligne, 3) = TextBox4.Value
[Tableau1].Item(ligne, 4) = TextBox3.Value
[Tableau1].Item(ligne, 5) = TextBox5.Value
[Tableau1].Item(ligne, 6) = TextBox6.Value
End With
End Sub
Private Sub Valider_Click()
Dim ligne As Long, Target As Range, NomImg As String
If Range("FAQ").Item(1, 1) <> "" Then ligne = Range("FAQ").Rows.Count + 1 Else ligne = 1
With Worksheets("FAQ")
.Activate
.Range("FAQ" & "[Titre]").Item(ligne, 1) = TextBox1.Value
End With
End Sub
merci a toi au topBonjour AmigoVba, Job,
En PJ la macro reprise en partie avec :
NB: La partie qui suit a été mise en commentaires.VB:Private Sub Valider_Click() Dim ligne As Long, Target As Range, NomImg As String If [Tableau1].Item(1, 1) = "" Then ligne = 1 Else ligne = 1 + [Tableau1].ListObject.ListRows.Count With Worksheets("FAQ") .Activate [Tableau1].Item(ligne, 1) = TextBox1.Value [Tableau1].Item(ligne, 2) = TextBox2.Value [Tableau1].Item(ligne, 3) = TextBox4.Value [Tableau1].Item(ligne, 4) = TextBox3.Value [Tableau1].Item(ligne, 5) = TextBox5.Value [Tableau1].Item(ligne, 6) = TextBox6.Value End With End Sub
D'autre part dans un TDS il faut laisser XL gérer les lignes, donc supprimer toutes les lignes vides.
Private Sub Valider_Click()
Dim ligne As Long, Target As Range, NomImg As String, i%
If [Tableau1].Item(1, 1) = "" Then ligne = 1 Else ligne = 1 + [Tableau1].ListObject.ListRows.Count
For i = 1 To 6
[Tableau1].Item(ligne, i) = UserForm1.Controls("TextBox" & i).Value
Next i
End Sub
Dernière question, je voudrais que le bouton cinq ne soit pas accessible aux lecteurs, juste aux admins.merci a toi au top
Sub lancerFormulaire()
If InputBox("Mot de passe : ") <> "1234" Then Exit Sub
UserForm1.Show
End Sub
Private Sub valider_Click()
With Range("Tableau1").ListObject.ListRows.Add.Range
For i = 1 To 6
.Cells(i) = Me.Controls("TextBox" & i).Value
Next
End With
End Sub
C'est ce que j'essaie de faire, Maitre.Apprenez a travailler avec les tableaux structurés avec les bons outils et de la bonne manière
Private Sub Valider_Click()
Dim ligne As Long, Target As Range, NomImg As String, i%
If [Tableau1].Item(1, 1) = "" Then ligne = 1 Else ligne = 1 + [Tableau1].ListObject.ListRows.Count
For i = 1 To 6
[Tableau1].Item(ligne, i) = UserForm1.Controls("TextBox" & i).Value
Next i
End Sub