[RESOLU MAGISTRALEMENT] Transfert Listbox

  • Initiateur de la discussion Initiateur de la discussion cathodique
  • 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 !

cathodique

XLDnaute Barbatruc
Bonsoir,🙂

J’ai un problème de transfert de données d’une Listbox vers une feuille excel (comptes).
La listbox contient 10 colonnes et la feuille 11 colonnes.
La colonne 6 de la listbox qui est un montant de recettes ou de dépenses.
Le problème réside à ce niveau, ce montant doit être mis sur la feuille en colonne 6 si c’est une dépense
et en colonne 7 si c’est une recette. Avec le bout de code ci-dessous, je transfère mais toujours dans la même colonne
VB:
Private Sub Cb_transfert_Click()
   Dim ligne As Integer, n As Byte, Tbl, i As Byte
   ligne = ShBd.[A65000].End(xlUp).Row + 1
   n = Me.ListBox1.ListCount
   If n > 0 Then
      Tbl = Me.ListBox1.List
      For i = 0 To n - 1
         Tbl(i, 0) = CDate(Tbl(i, 0))
      Next i
      ShBd.Cells(ligne, "a").Resize(n, 10) = Tbl
      Me.ListBox1.Clear
   End If
End Sub
Un coup de main est le bienvenu, je suis saturé.

Merci beaucoup.
 

Pièces jointes

Bonsoir,

Non testé

Code:
Private Sub Cb_transfert_Click()
   Dim ligne As Integer, n As Byte, Tbl(), i As Byte, k As Long, Tbl2(), Ncol
   ligne = ShBd.[A65000].End(xlUp).Row + 1
   n = Me.ListBox1.ListCount
   If n > 0 Then
      Tbl = Me.ListBox1.List
      For i = 0 To n - 1
         Tbl(i, 0) = CDate(Tbl(i, 0))
      Next i
      '--
      Ncol = UBound(Tbl, 2) + 1
      ReDim Tbl2(0 To n - 1, 0 To Ncol + 1)
      For i = 0 To n - 1
         For k = 0 To 4: Tbl2(i, k) = Tbl(i, k): Next k
         If Tbl(i, 5) < 0 Then Tbl2(i, 5) = -Tbl(i, 5) Else Tbl2(i, 6) = Tbl(i, 5)
         For k = 6 To Ncol - 1: Tbl2(i, k + 1) = Tbl(i, k): Next k
      Next i
      '--
      ShBd.Cells(ligne, "a").Resize(n, 11) = Tbl2
      Me.ListBox1.Clear
   End If
End Sub

JB
 
Dernière édition:
Merci beaucoup Boisgontier😉,

Très gentil, mais le montant s'effectue toujours en colonne 7 (Recettes),
Que ça soit Dépenses ou Recettes.

Je vais essayé de comprendre ton code et peut-être corrigé.

Merci pour ton aide, j’apprécie beaucoup.

Bonne soirée.🙂🙂
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
246
Réponses
7
Affichages
85
Réponses
0
Affichages
454
Retour