Waaaouuuh ! Fallait comprendre quand je relis le fil
Bon en premier faites ceci dans votre fichier
- Allez dans l'USF frmextractiondata
- Cliquez sur la combob
- allez dans les propriétés de l'objet et supprimez ROWSSOURCE (évitez cette instruction qui profit souvent des soucis avec VBA)
- Collez ce code dans l'usf
Private Sub UserForm_Initialize()
Cboarticle.List = Feuil2.ListObjects("TSource").ListColumns(1).DataBodyRange.Value
End Sub
- Supprimez le nom "Listearticles" dans le gestionnaire de noms
- Dans la feuille Tableau Devis Remettre les titres en ligne 1 identiques à la feuille Source
- Mettre la feuille Tableau devis au format tableau structuré
- Dans les gestionnaire de noms, modifier le nom du tableau de cette feuille -> "TDevis"
- Remplacez le code du bouton Extraire par celui ci -dessous
Private Sub Btnextraction_Click()
'declarer les variables
Dim monarticle As Range
Dim ligArt As Integer
Dim Lig As Integer
ligArt = Feuil2.ListObjects("Tsource").ListColumns(1).DataBodyRange.Find(Cboarticle, LookIn:=xlValues, lookat:=xlWhole).Row
With TABDEVIS.ListObjects("TDevis")
If .ListRows.Count = 0 Then
.ListRows.Add: Lig = 1
Else: .ListRows.Add: Lig = .ListRows.Count 'insérer à la dernière ligne
End If
.ListRows(Lig).Range = Feuil2.ListObjects("Tsource").ListRows(ligArt - 1).Range.Value
End With
Votre fichier en retour pour le cas où...