Additionner et Imprimer les données de la ListBox

Gix

XLDnaute Occasionnel
Bonjour le Forum,

Après pas mal de temps de galère et grâce à votre aide je suis arrivé à la fin de ma page 4
Il me reste une dernière commande pour le bouton Imprimer sans doute la plus compliquée et sans votre aide je n’arriverai jamais de toute façon .

Je me tourne de nouveau vers vous afin de trouver de l’aide pour cette commande.
En effet ce que je souhaiterai faire avec cette commande c’est au moment de cliquer sur le bouton Imprimer, Imprimer les infos de la ListBox1 sur la feuille (prélèvement) de la façon suivante :
Afin de mieux comprendre je vous joins l’application accompagnée d’explications.
Désolé pour la taille du fichier d’explication impossible de réduire à 50 ko si non se sera illisible.

http://cjoint.com/?lxn0CkbCKb

Un énorme Merci à vous tous, dans l’attente de vous lire je vous souhaite une bonne après-midi.
Gix.
 

Pièces jointes

  • Prelevement.zip
    38.4 KB · Affichages: 58
  • Prelevement.zip
    38.4 KB · Affichages: 51
  • Prelevement.zip
    38.4 KB · Affichages: 51

Hervé

XLDnaute Barbatruc
Re : Additionner et Imprimer les données de la ListBox

salut gix :)


à tester :
Code:
Private Sub CmdPrélèvementImp_Click()
Dim Control As Object
Dim Mois As Boolean
Dim i As Byte, j As Byte, k As Byte
Dim ligne As Byte, lignelistbox As Byte
Dim derligne As Integer
Dim present As Boolean
Dim presentnumero As Boolean
Dim tablosplit
Mois = False

For Each Control In Données.FrameSélectMois.Controls
 If Control.Value = True Then Mois = True: Exit For
  Next
   If Not Mois Then
    MsgBox "Sélectionnez un mois !", vbExclamation, G & " / Opération impossible"
Exit Sub
End If

If ComboDateImp.Value = "" Then
 MsgBox "Select. Mois-Année.", vbExclamation, G & " / Opération impossible"
  ComboDateImp.SetFocus
Exit Sub
End If
'
''Code pour Imp ?
'O3.Range("A1") = ComboDateImp.Value
'Unload Données

O3.Range("a3:d10000").ClearContents

For i = 0 To ListBox1.ListCount - 1
    present = False
    For j = 3 To O3.Range("a65536").End(xlUp).Row
        If O3.Cells(j, 1) & CStr(O3.Cells(j, 3)) = ListBox1.List(i, 0) & ListBox1.List(i, 2) Then
            ligne = j: lignelistbox = i
            present = True
        End If
    Next j
    
    If present = True Then
        presentnumero = False
        O3.Cells(ligne, 4) = O3.Cells(ligne, 4) + CDbl(ListBox1.List(lignelistbox, 3))
        tablosplit = Split(O3.Cells(ligne, 2), "_")
        For k = 0 To UBound(tablosplit)
            If tablosplit(k) = ListBox1.List(lignelistbox, 1) Then
                presentnumero = True
            End If
        Next k
        
        If Not presentnumero Then
            O3.Cells(ligne, 2) = O3.Cells(ligne, 2) & "_" & ListBox1.List(lignelistbox, 1)
        End If
    Else
        derligne = O3.Range("a65536").End(xlUp).Row + 1
        O3.Cells(derligne, 1) = ListBox1.List(i, 0)
        O3.Cells(derligne, 2) = ListBox1.List(i, 1)
        O3.Cells(derligne, 3) = CDate(ListBox1.List(i, 2))
        O3.Cells(derligne, 4) = CDbl(ListBox1.List(i, 3))
    End If
    
Next i
        
End Sub
il doit surement y avoir plus simple que cette bouillie, mais, j'ai pas trouvé.

salut
 

Gix

XLDnaute Occasionnel
Re : Additionner et Imprimer les données de la ListBox

Bonsoir le Forum, mon ami Hervé :)

Je suppose que tu n'as pas besoin de confirmation , car après avoir fais tout les test et bien figure toi Que tout Marche c'est que du bonheur !!!:D
Bien évidemment Merci de ton aide et de ton temps que tu m'as consacré,

A Bientôt Gix;

Ps: J'ai presque oublié , Il y a des personnes qui sont mortes de soif en Attendant !!! :p
https://www.excel-downloads.com/threads/modifier-les-lignes-listbox.68669/

Tout en bas du message
 

Gix

XLDnaute Occasionnel
Re : Additionner et Imprimer les données de la ListBox

Bonjour le Forum, Hervé,

Alors Hervé tu es à la bourre, j’ai déjà passer commande au bar , où es-tu ?
Bon tu n’es pas là alors je te propose de m’aider :D

Blague à part Hervé j’ai encore un service à te demande à savoir que ma question est similaire à celle du départ ( même sujet) et sachant que tu connais l’application je me permets de te déranger à nouveau.

En fait il me faudrait imprimer les données de la page5 sur la feuille ( annexe_fc) de la manière suivante ( je te joins un exemple )
Par contre si tu connais une autre méthode plus simple pour arriver au même résultat libre à toi.
Ne prend pas peur en voyant tous ces dessins j’ai essayé de faire au mieux afin de te faciliter la tâche .

http://cjoint.com/?lBpPW5VaYQ
Au plaisir de te lire.
Bonne après midi à tous et à toutes.
Gix.
 

Pièces jointes

  • PrelevementP5.zip
    44.3 KB · Affichages: 73

Hervé

XLDnaute Barbatruc
Re : Additionner et Imprimer les données de la ListBox

salut gix

désolé pour mes non-reponses à ton invitation :eek:

ce sera avec plaisir que j'irais boire une biere (enfin tu prendra bien ce que tu veux) avec toi, si possible sur la région viennoise en fin d'apres-midi tu m'envoie un petit mot en private.

sachant que je quitte le nord isère définitivement courant janvier.

bon, pour revenir à ton souci, je pense qu'une simple boucle sur la listbox devrait suffire :

Code:
Private Sub CmdAnnexeFcImp_Click()
Dim i As Integer

TextBox31.Enabled = True
If ComboAnnexeFc.Value = "" Then
 MsgBox "Select. Numéro Facture.", vbExclamation, G & " / Opération impossible"
  ComboAnnexeFc.SetFocus
Exit Sub
 End If

If TextBox31.Value = "" Then
 MsgBox "Saisissez la date d'édition .", vbExclamation, G & " / Opération impossible"
  TextBox31.SetFocus
Exit Sub
 End If
    
If Not IsDate(TextBox31.Value) = True Then
 MsgBox "Format date édition non valide.", vbExclamation, G & " / Opération impossible"
  TextBox31.Value = ""
   TextBox31.SetFocus
Exit Sub
 End If

'Code pour Imp ?
O4.Range("a16:h36").ClearContents

O4.Range("C8") = ComboAnnexeFc.Value
O4.Range("C10") = CDate(TextBox31.Value)
O4.Range("c9") = ListBox3.List(0, 0)

'détail
For i = 0 To ListBox3.ListCount - 1
    O4.Cells(i + 16, 1) = ListBox3.List(i, 2)
    O4.Cells(i + 16, 3) = ListBox3.List(i, 3)
    O4.Cells(i + 16, 4) = ListBox3.List(i, 4)
    O4.Cells(i + 16, 7) = CDate(ListBox3.List(i, 5))
    O4.Cells(i + 16, 8) = CDate(ListBox3.List(i, 6))
Next i

O4.Range("a41:c52").ClearContents

'prélevement
For i = 0 To 11
    O4.Cells(i + 41, 1) = CDate(DateAdd("m", i, ListBox3.List(0, 7)))
    O4.Cells(i + 41, 3) = CDbl(Me.TBoxSommeP5)
Next i

'O4.PrintOut Copies:=1, Collate:=True
Unload Données
End Sub
voila,

salut
 

Gix

XLDnaute Occasionnel
Re : Additionner et Imprimer les données de la ListBox

Re Hervé,

Je ne sais plus combien de fois je peux te remercier.
Impecable et tout marche à merveille c'est géniale que dire de plus ;

Ps; Ok je t'envoie un message private d'ici la fin de semaine je suis un peu débordé en ce moment .

Merci encore une fois et bonne fin de soirée à tous et à toutes.
Gix.
 

Discussions similaires

Statistiques des forums

Discussions
312 793
Messages
2 092 155
Membres
105 241
dernier inscrit
Mixlsm