Bonjour vbahich, Rag02700
Ahhhhhh... ces espaces après le nom des feuilles
Comma l'a dit si bine Rag02700, dans le classeur le nom de la feuille est "sources " et non "sources" d'où l'erreur
Ceci dit, le codage comme il est fait n'est vraiment pas terrible, vous utiliser un tableau structuré, profitez-en
Private Sub btnAjout_Click()
Dim LObj As ListObject, Lig As Long
Set LObj = ThisWorkbook.Sheets("sources ").ListObjects("Tableau3")
With LObj
Lig = LigVierge(LObj)
With .DataBodyRange
.Cells(Lig, 1).Value = Me.codebarre.Value
.Cells(Lig, 2).Value = Me.txtbl
.Cells(Lig, 3).Value = Me.Txtcommande
.Cells(Lig, 4).Value = Me.Txtfournisseur
.Cells(Lig, 5).Value = Me.statut
.Cells(Lig, 6).Value = Me.service
.Cells(Lig, 7).Value = CDate(Date)
.Cells(Lig, 8).Value = Me.Txtcomment
End With
End With
Set LObj = Nothing
End Sub
La petite fonction (à mettre dans un module) que j'utilise pour la ligne vierge dans le TS
' Petite fonction pour touver la 1ère ligne vierge dans un tableau structuré
Function LigVierge(LstObj As ListObject)
Dim CelF As Range
' Trouver la prochaine ligne vide du tableau
Set CelF = LstObj.ListColumns(1).Range.Find("")
' Si aucune on ajoute une nouvelle ligne
If CelF Is Nothing Or LstObj.ListRows.Count = 0 Then
LstObj.ListRows.Add: LigVierge = LstObj.ListRows.Count
Else
LigVierge = CelF.Row
End If
End Function
J'espère que cela vous donnera une idée, de comment développer
A+