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

XL 2016 Gros basard dans la recuperation de mes données listbox

RoyalP

XLDnaute Occasionnel
Hello , je suis en train de réaliser un petit classeur pour une asso (une gestion de facture etc) j'ai bien avancé mais je bloque sur un truc tout bête qui me rend fou depuis 4 heures !!!!

j'ai un recap de devis dans le devis il me recupére bien les infos suivantes:
N° du devis, Date du devis, Ref Produit, description produit, quantité,le taux tva mais apres pour les autres infos genre Code Client etc il me les fout dans un B***** sans nom
je vous joint le fichier pour ceux qui arriverons a m'aider , je les remercie d'avance.
 

Pièces jointes

  • Classeur1_devis.xlsm
    51.9 KB · Affichages: 20

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir RoyalP, bonsoir le forum,

J'ai modifié ton code. Remplace UserForm_Activate et TextBox1_Change par :

VB:
Private OD As Worksheet
Private TV As Variant
Private NL As Integer

Private Sub UserForm_Initialize()
Me.lblfch = Date
With ListBox1
    .ColumnCount = 10
    .ColumnWidths = "60 pt;60 pt;40 pt;185 pt;30 pt;40 pt ;50 pt ;50pt ;50pt ;50pt"
End With
Set OD = Worksheets("DEVIS")
TV = OD.Range("A1").CurrentRegion
NL = UBound(TV, 1)
End Sub

Private Sub TextBox1_Change()
Dim Total As Double

OD.Visible = True
OD.Activate
Me.ListBox1.Clear
If Me.TextBox1.Value = "" Then Exit Sub
For I = 2 To NL
    If InStr(1, OD.Cells(I, 2), Me.TextBox1.Value, vbTextCompare) > 0 Then
        With Me.ListBox1
            .AddItem
            For J = 1 To 10
                .Column(J - 1, .ListCount - 1) = OD.Cells(I, J)
                If J = 6 Then Total = Total + .Column(J - 1, .ListCount - 1)
            Next J
            
        End With
    End If
Next I
TextBox2.Value = Me.ListBox1.ListCount
Me.TextBox3 = Total
End Sub
 

RoyalP

XLDnaute Occasionnel
NICKEL ROBERT, merci pour ton aide, maintenant il faut que je trouve comment faire pour qu'il m'affiche tous les produits si un devis comporte plusieurs produits.
En tout cas merci.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Il faut stocker le numéro de ligne dans la ListBox1 si tu veux pouvoir afficher plusieurs produits dans recap_devis_fact. Cela implique de supprimer une colonne de la ListBox1 dans consuldevis. Quelle serait la colonne qui pourrait être supprimée ?
 

RoyalP

XLDnaute Occasionnel
total ht, vu que je le calcul séparément
je joint mon fichier légèrement modifié
j'avais commencé mais j’étais dans le faux

merci de ton aide
 

Pièces jointes

  • Classeur1_devis.xlsm
    42.2 KB · Affichages: 8

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Je ne sais pas à quoi correspondent certains champs de la seconde UserForm, donc...
En pièce jointe la version 01...
 

Pièces jointes

  • RoyalP_XD_v01.xlsm
    46.5 KB · Affichages: 9

patricktoulon

XLDnaute Barbatruc
bonjour a tous Robert pourquoi supprimer une colonne ????
perso je les met toutes (les 12) sans problème
je règle même les columnwidth calqué sur la plage
ainsi que les labels d’Entêtes d'ailleurs
regardez la derniere colonne
 

patricktoulon

XLDnaute Barbatruc
Perdu!!!! Robert c'est pas propriété rowsource meme si en effet il y a la dedans une histore de range
je la donne l'astuce comme ca on en parle plus tout le monde saura
a ben ça alors
VB:
Private Sub UserForm_Activate()

    With ListBox1
        .ColumnCount = 15
        '--------------------------------------------------
        ' !!!!!!C EST CA L ASTUCE!!!!!!!!!on la renplie avec une ligne de cellule(15 colonne) et on la clear
        .List = Range("A1").Resize(1, .ColumnCount).Value: .Clear
        '--------------------------------------------------

        'elle est maintenant dimentionné a 15 colonne et valide pour 15 colonnes  MEME!!!!!! si elle est vide !!!!!!!!!!!!

        'maintenant on (((peut)))!!! la remplir normalement avec 2 boucles ligne/colonnes )imbriquées

        For i = 0 To 10
            .AddItem ""
            For c = 0 To 14
                .List(i, c) = "Ligne" & i + 1 & " Col" & c + 1
            Next
        Next
    End With



End Sub
Wagadougou!!!
EN GROS C'EST ROWSOURCE SANS ROWSOURCE ET DONC SANS SES INCONVENANTS

 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
je l'ai mis dans les astuces
 

RoyalP

XLDnaute Occasionnel
merci robert, y'a juste un petit bug si tu sélectionne par exemple le devis 1002 et que tu sélectionne le deuxième article dans le devis il y a un décalage quand tu click sur consulter. La qts est déplacé en dessous de là ou elle devrait etre.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…