XL 2019 Extraction d'élément d'une listbox

Monhtc

XLDnaute Occasionnel
Bonjour le forum,
Je galere depuis sur un probleme d'extraction d'éléments à partir d'une listobox.
En effet j'ai une base de données (BDD) lié à ma listbox.
Je souhaite à partir d'un double clique sur chaque ligne de ma listbox que j'aurai sélectionné ou à partir d'élément cocher pourvoir extraire certains les éléments de cette ligne (Le matricule, la date de naissance, le nom, le sexe et le salaire) sur une autre feuille appélée "TRANS"
 

Pièces jointes

  • TEST.xlsm
    27.1 KB · Affichages: 13

Dranreb

XLDnaute Barbatruc
Bonjour.
Première correction: la propriété ColumnCount de la ListBox passée à 12
Ensuite, personnellement je ne reprend jamais les informations d'une ListBox: elles ont été transformées en textes, alors je préfère repartir de la source: les valeurs de cellules.
 

Dranreb

XLDnaute Barbatruc
un tableau ne serait pas une solution appropiée à mon besoin car je veux en faire un bordereau de transmission
Ça ne me semble pas être une raison.
En attendant j'ai ça :
VB:
Option Explicit
Private Rng As Range
Private Sub UserForm_Initialize()
   Set Rng = Intersect(Feuil3.[2:1000000], Feuil3.UsedRange)
   Me.ListBox1.List = Rng.Value
   Me.ListBox1.MultiSelect = fmMultiSelectMulti
   End Sub
Private Sub CommandButton1_Click()
   Dim TDon(), LD&, TRés(), LR&
   TDon = Rng.Value
   For LD = 0 To ListBox1.ListCount - 1
      If ListBox1.Selected(LD) Then LR = LR + 1
      Next LD
   ReDim TRés(1 To LR, 1 To 6): LR = 0
   For LD = 1 To UBound(TDon, 1)
      If ListBox1.Selected(LD - 1) Then
         LR = LR + 1
         TRés(LR, 1) = LR
         TRés(LR, 2) = TDon(LD, 1)
         TRés(LR, 3) = TDon(LD, 9)
         TRés(LR, 4) = TDon(LR, 3)
         TRés(LR, 5) = TDon(LR, 8)
         TRés(LR, 6) = TDon(LR, 10)
         End If: Next LD
   Feuil4.[14:1000000].Delete
   Feuil4.[A14].Resize(UBound(TRés, 1), UBound(TRés, 2)).Value = TRés
   End Sub
 

Monhtc

XLDnaute Occasionnel
Merci @Dranreb ca fonctionne deja bien mais je souhaite avoir la somme des salaires de toutes les selections
TRANS.PNG



Dans la cellule A10 egalement je souhiate pouvoir numeroté chaque transmission par rapport à la destinantion.
Exemple Courrier interne N°1, N°2 .... N°n
Courrier externe N°1, N°2 .... N°n.
J'ai pour cela une feuille Parametres avec des compteurs
 

Dranreb

XLDnaute Barbatruc
Ajouté ces 6 lignes à la fin :
VB:
   With Feuil4.[E14:F14].Offset(UBound(TRés, 1))
      .Columns(1).Value = "Total salaires :"
      .Columns(1).HorizontalAlignment = xlHAlignRight
      .Columns(2).FormulaR1C1 = "=SUM(R14C:R[-1]C)"
      .Borders(xlEdgeTop).LineStyle = xlContinuous
      End With
   End Sub
L'avantage d'un tableau c'est qu'il aurait pu être muni d'une ligne total.
Pour le N° de courrier utilisez une formule …
 

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16