XL 2021 transfert listview vers feuille excel

  • Initiateur de la discussion Initiateur de la discussion Jobart
  • Date de début Date de début

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 !

Jobart

XLDnaute Nouveau
Dans mon userform, j'alimente ma listview avec les infos provenant de détails facture.

je voudrais que lorsque celle ci est alimenter (listview) pouvoir avec le bouton enregistrer exporter les données contenues dans le listview vers la feuille e calcul (Achat).

j'ai essayer avec ce code mais il passe. aucune info n'est copié.
je sais que ce n'est pas l'objet du topic. mais si tu pouvais y jeter un coup d'œil

merci
VB:
Private Sub BtnEnregistrer_Click()

Dim Ws As Worksheet
Dim L As Long, Cl As Long, i As Long, j As Long, Lr As Long
Dim Tbl() As Variant

Set Ws = Worksheets("Achat")
Ws.Select
With Me.ListVAppro
    
    'mise en memoire de la listview
    L = .ListItems.Count
    Cl = .ColumnHeaders.Count
        
    ReDim Tbl(1 To L + 1, 1 To Cl)
    
    For i = 1 To L
        Tbl(i, 1) = .ListItems(i).Text
        For j = 1 To Cl - 1
            Tbl(i, j + 1) = .ListItems(i).ListSubItems(j).Text
        Next j
    Next i
 
If .ListItems.Count < 1 Then

    MsgBox " Ajouter des produits a la facture!", vbCritical + vbOKOnly, ""
 
    Exit Sub
Else
    If MsgBox("Voulez - vous enregistrer cette facture?", vbYesNo, "Demande de confirmation") = vbYes Then
                        
        With Ws
        Lr = .Cells(Rows.Count, 1).End(xlUp).Row 'derniere ligne ocuppe sur la ligne A
        
        For i = 1 To L ' boucle sur les lignes du tableau
        
            .Range("c" & Lr + i) = Tbl(i, 1) ' Articles
            .Range("D" & Lr + i) = Tbl(i, 2) ' Qte
            .Range("e" & Lr + i) = Tbl(i, 3) ' PU
            .Range("f" & Lr + i) = Tbl(i, 4) ' Remise
            .Range("g" & Lr + i) = Tbl(i, 5) ' Montant
            .Range("b" & Lr + i) = CDate(Me.TextDate) ' Date
            .Range("h" & Lr + i) = Me.ComboFrs ' fournisseurs
            .Range("i" & Lr + i) = Tbl(i, 1) ' code facture
          
        Next i
                        
      End With
                        
    End If
End If
End With

Unload Me
FrmAppro.show

' reinitialiser listview
'Me.ListVAppro.ListItems.Clear

End Sub
 

Pièces jointes

Bonjour gbinforme, jouky(BJ),
Je vous propose le fichier joint.
Le fichier répond à votre demande, mais j'ai procédé d'une autre manière.
La Listview va récupérer les données dans le tableau article et après sélection envoi des données dans le tableau "Achat".
Il me semble que c'est la meilleure façon de procéder, si j'ai bien compris l'objectif recherché.
La procédure :
1°) La Frame 'Ajouter un Article dans le Tableau' vous permet d'ajouter un nouvel article dans le tableau de la feuille 'Article'.
2°) La Frame 'Ajouter données' dans le tableau de la feuille 'Achat', objet de votre demande.
- Vous choisissez un fournisseur, tous les articles du fournisseur remontent dans la listview, vous choisissez un article et toutes les données s'affichent dans les textBox situés en dessous de la listView. Vous validez avec le bouton 'Enregistrer Achat' et les données s'ajoutent dans le tableau de la feuille 'Achat'.
La procédure est la même si vous faites une recherche par Article.
Le petit bouton noir "Init" vous permet de vider les zones de saisies et de recommencer la recherche. La listview revient alors a son état initial.
Le bouton "Modifier n'est pas pour l'instant codé.
Merci de votre retour.
Cordialement.
 

Pièces jointes

Bonjour gbinforme, jouky(BJ),
Je vous propose le fichier joint.
Le fichier répond à votre demande, mais j'ai procédé d'une autre manière.
La Listview va récupérer les données dans le tableau article et après sélection envoi des données dans le tableau "Achat".
Il me semble que c'est la meilleure façon de procéder, si j'ai bien compris l'objectif recherché.
La procédure :
1°) La Frame 'Ajouter un Article dans le Tableau' vous permet d'ajouter un nouvel article dans le tableau de la feuille 'Article'.
2°) La Frame 'Ajouter données' dans le tableau de la feuille 'Achat', objet de votre demande.
- Vous choisissez un fournisseur, tous les articles du fournisseur remontent dans la listview, vous choisissez un article et toutes les données s'affichent dans les textBox situés en dessous de la listView. Vous validez avec le bouton 'Enregistrer Achat' et les données s'ajoutent dans le tableau de la feuille 'Achat'.
La procédure est la même si vous faites une recherche par Article.
Le petit bouton noir "Init" vous permet de vider les zones de saisies et de recommencer la recherche. La listview revient alors a son état initial.
Le bouton "Modifier n'est pas pour l'instant codé.
Merci de votre retour.
Cordialement.
Bonjour à tous,
Je remets le fichier en pièce jointe, j'y ai apporté quelques modifications et corrections.
Dans l'absolu, le fichier est opérationnel.
Cordialement.
 

Pièces jointes

Bonjour le Fil
j'espère que vous allez bien ?
à partir du travail de Claude ,je me suis permis de travailler sur la partie recherche et approvisionnement de la Listview "ListView_Article" et j'ai fais en sorte que les deux Combobox ( Cbx_RecherchFournisseur et Cbx_RecherchArticle )soient inter dépendant . à voir si cela peut être utile et dans l'esprit Lol (perfectible)
Bonne fin de Journée (ou de Nuit lol)
Jean marie
 

Pièces jointes

Salut Jean-Marie, tu vas bien ?
Jobart,gbinform,youky(BJ), le Forum, bien le bonjour,
Jean-Marie ne t'excuse pas d'apporter une plus-value à ma proposition : c'est très bien ainsi.
Le but du Forum est non seulement de répondre aux sollicitations, mais aussi apporter moults solutions aux demandeurs.
Il est donc important que vous interveniez, même si des propositions existent déjà.
Moi, je n'ai pas pensé lier les deux comboBox "recherche".
Du coup jobart a donc deux façons de procéder : ou il dissocie les recherches, ou bien il sélectionne un fournisseur et ensuite les articles. Il peut aussi avoir les deux formules.
C'est très bien ainsi.
Ps: A partir de midi, ce jour, je rejoins le club des retraités, donc plage matin, midi et soir (médicaments recommandés par mon médecin).
Très bonne journée à tous.
 
- 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
5
Affichages
88
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
280
Réponses
3
Affichages
612
Réponses
3
Affichages
469
Réponses
8
Affichages
140
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
517
Réponses
5
Affichages
542
Retour