select multicomptes etcreation onglet + donnees

happymarmotte

XLDnaute Occasionnel
bonjour a tous,
je galere sur un rapport par client que je dois faire.

j`ai 3 feuilles avec mes donnees et par listbox je liste mes comptes.
ds cette listbox, je selectionne 1 compte et ca me cree l`onglet avec le report des donnees.

ca marchait, genial... mais voila que maintenant j`ai des clients qui nt pas un comptes mais 2, 3 ou plus.
bref faut fare des regroupement

donc j`ai modifie ma listbox pur qu`elle accepte la mutliselection, mais ensuite ca me pose 2 probleme :
- comment nommer l`onglet si j`ai selectionne plus d`un compte?
- comment reporter les donnees ds un onglet si j`ai selectionne plus d`1 compte? :confused:
je suis bloque et j`ai besoin d`un gros coup de main.

si quelqu`un a un exemple qui resoudrait mn probleme, ce serait genial

j`ai explique plus en detail ds le file joint avec exemple du resultat espere.

merci pour votre aide.


happymarmotte
 

Pièces jointes

  • RAPPORTCLIENT.zip
    17.4 KB · Affichages: 34

Pierrot93

XLDnaute Barbatruc
Re : select multicomptes etcreation onglet + donnees

Bonjour Happymarmotte

regarde le code ci dessous, si j'ai bien compris :

Code:
Private Sub CommandButton1_Click()
Dim sh, tablo(), i As Byte, feuille As Worksheet, x As Integer, c As Range, j As Byte
For j = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(j) = True Then
        For Each sh In Array("s1", "s2", "s3")
            With Sheets(sh)
                For Each c In .Range("b2:b" & .Range("b65536").End(xlUp).Row)
                    If CStr(c) = ListBox1.List(j) Then
                        x = x + 1
                        ReDim Preserve tablo(1 To 5, 1 To x)
                        For i = 1 To 5
                            tablo(i, x) = .Cells(c.Row, i)
                        Next i
                        If ExisteFeuille(ListBox1.List(j)) = True Then
                            Set feuille = Sheets(ListBox1.List(j))
                        Else
                            Set feuille = Sheets.Add
                            feuille.Move after:=Sheets(Sheets.Count)
                        End If
                        With feuille
                            .Name = ListBox1.List(j)
                            .Cells.Clear
                            .Range("a1").Resize(UBound(tablo, 2), UBound(tablo, 1)) = Application.Transpose(tablo)
                        End With
                        Erase tablo
                    End If
                Next c
            End With
        Next sh
    End If
Next j
End Sub

bon après midi
@+
 

happymarmotte

XLDnaute Occasionnel
Re : select multicomptes etcreation onglet + donnees

bonsoir Pierrot,


merci pour ton aide
c`est presque ca mais pas tout a fait.

regarde mon exemple. si je selectionne 2 comptes, je veux que les donnees des 2 comptes soienrt reunies sur une feuille unique car si je selectionne 2 comptes a la fois, cela veut dire que je pense que ces 2 comptes appartiennent a un client unique

donc si un client a 3 comptes, je vais selectionner 3 comptes et les donnees pour les 3 comjptes selectionnes vont se retrouver sur une feuille unique.
ainsi je peux ensuite faire mes tableau d`analyse par client.
bref si tu selectinnes 3 cmptes, ne seule feuille doit etre creee.

et le fait de reunir plus d`un compte sur un meme onglet, va creer le probleme du nom d`onglet. et c`est la que je pensais que du fiat n message pouvait s`ouivrir ou j`indiquerai le nom du client (et donc qwue ce nom soit celui de l`onglet)

1 compte choisie donne un onglet qui reprend le numero de compte
plus d`1 compte, alors il faut un moyen de nommer l`onglet et que les donnees de ces 2 comptes se reportent sur une feuille unique.

ta macro me creer 2 onglets pour 2 comptes.
moi si je choisis 2, 3 ou 4, cela veut dire que ce client a 2,3,4 comptes donc faut que l`ensemble des donnnees soient reunies

j`espere etre plus clair,

regrade mon exemple. Ds l`ongletCALI, j`ai regroupe les donnees de 2 comptes

merci pour ton aide.
c`est pas facile

happymarmotte
 

Pierrot93

XLDnaute Barbatruc
Re : select multicomptes etcreation onglet + donnees

Bonjour,

tu parles de clients, mais je ne vois aucune colonne "client" sur tes differentes feuilles Excel. Quelque fois un prénom se glisse dans les articles... Est ce pour toi la colonne client ?

A voir mais en l'état, je ne peux t'aider plus, sans doute faire un controle supplémentaire avant la création des feuilles.

bon dimanche.
@+
 

happymarmotte

XLDnaute Occasionnel
Re : select multicomptes etcreation onglet + donnees

slaut pierrot,

les clients n`ont pas de nom ds mon exemple mais un code (qui est leur numero de compte: col B des feuilles S1,S2 et S3).

donc ds mon exemple, tu cliques ds la listbox sur le compte 1100 et ca cree l`onglet 1100 (qui pour moi correspond a un client)

ensuite tu as le client CALI, ds mes feuilles tu vois pas le nom CALI mais tu vois les codes (comptes clients)
Pour moi le client CALI a 2 comptes le 590 et le 1300.

donc je selectionne le code 590 et 1300, et j`aimerais que la macro reunisse les donnees de ces 2 comptes sur une meme feuille car le fait de selectionner 2 comptes veut dire : le client x a 2 comptes.
ensuite a voir comment inserer le nom!

j`avais pense ajouter une colonne avce le nom du client et donc selectionner le nom, mais c`est pas possible car ds mes extactions, le compte 590 a pour nom client CALI FR BORDEAUX et le compte 1300 a pour nom CALIS SA.
bref je cherche a selectionner les comptes que je veux et que la macro reunisse les donnees des comptes selectionnes

merci

happymarmotte
 

happymarmotte

XLDnaute Occasionnel
Re : select multicomptes etcreation onglet + donnees

salut pierrot,

tu veux dire que je ne peux selectionner 3 comptes et faire en sorte que les donnees de ces 3 comptes aillent sur une feuille unique?

oh ben c`est fou ca!

a la limite, pour le nom de l`onglet, je peux l`inser manuellement!

merci en tout cas pour ton aide

happymarmotte
 

Discussions similaires

Statistiques des forums

Discussions
312 312
Messages
2 087 149
Membres
103 484
dernier inscrit
maintenance alkern