Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

je suis pas loin mais... (usage d'une dictionnaire et tableau)

5 réponses
Avatar
PatrIck
On me demande un tableau r=C3=A9sum=C3=A9 mais sans TCD ni sommeprod vu le =
grand nombre de ligne et la v=C3=A9tust=C3=A9 du pc utilis=C3=A9.

Je propose donc de le faire gracieusement en VBA avec tableau et dictionnai=
re mais malgr=C3=A9 tous mes efforts, je n'arrive pas =C3=A0 cause ma diffi=
cult=C3=A9 =C3=A0 comprendre les tableaux et dictionnaires (les plus attent=
ifs le savent) alors que j'ai d=C3=A9j=C3=A0 su en faire mais l=C3=A0 je ra=
me(encore). Pour info, je ne suis pas informaticien , juste modeste passion=
n=C3=A9.

Le fichier en attach=C3=A9 montre une partie de la base, un r=C3=A9sultat p=
ar TCD, le m=C3=AAme copi=C3=A9 en valeur mais je veux arriver =C3=A0 le fa=
ire tout pareil par dico dans la feuille "r=C3=A9sultats"=20

Merci de votre aide et des explications dans le code si possible=20

P.


le fichier:

https://www.dropbox.com/s/kmegtjm9wnrchjx/Dico%20et%20Tablo%20XLD.xlsm?dl=
=3D0

5 réponses

Avatar
DanielCo
Bonjour,
Je ne vois pas comment tu calcules les colonnes résultat. Est-ce que tu
peux expliquer ? D'aautre partr, l'usage d'un dictionnaire n'est
peut-être pas la solution la plus adaptée. Est-ce que tu veux
absolument t'en servir ?
Cordialement.
Daniel

On me demande un tableau résumé mais sans TCD ni sommeprod vu le
grand nombre de ligne et la vétusté du pc utilisé.

Je propose donc de le faire gracieusement en VBA avec tableau et
dictionnaire mais malgré tous mes efforts, je n'arrive pas à cause ma
difficulté à comprendre les tableaux et dictionnaires (les plus
attentifs le savent) alors que j'ai déjà su en faire mais là je
rame(encore). Pour info, je ne suis pas informaticien , juste modeste
passionné.

Le fichier en attaché montre une partie de la base, un résultat par
TCD, le même copié en valeur mais je veux arriver à le faire tout
pareil par dico dans la feuille "résultats"

Merci de votre aide et des explications dans le code si possible

P.


le fichier:

https://www.dropbox.com/s/kmegtjm9wnrchjx/Dico%20et%20Tablo%20XLD.xlsm?dl=0
Avatar
PatrIck
Bonjour Daniel,

oui je tiens au dico pour ma culture personnelle d'une part, pour sa rapidi té d'autre part :) Le tcd je sais, est plus simple mais il y a aussi l e plaisir de la masturbation intellectuelle :) :)

Pour chaque heure, il faut totaliser par ville de destination le nombre de colis (ça pourrait être des camions) qui y partent et ceci pour u ne date (appelée [Ladate]) dans mon fichier.
Simple sûrement mais j'ai toujours un problème avec ce qui est la clé du dico, ce qui est l'item et savoir s'il faut en utiliser 2 , vo ire 3 dico dans ce cas :)
Je pense que ce truc peut être fait avec mon code mais c'est entre le for et le next que je patauge, et ensuite la répartition des villes en haut de chaque colonne pour arriver à l'exemple en colonne AC.
J'ai beau lire et relire des exemples de Boisgontier, ça n'atteint pas mon neurone :(
Merci :)


Le lundi 16 mai 2016 11:01:11 UTC+2, DanielCo a écrit :
Bonjour,
Je ne vois pas comment tu calcules les colonnes résultat. Est-ce que tu
peux expliquer ? D'aautre partr, l'usage d'un dictionnaire n'est
peut-être pas la solution la plus adaptée. Est-ce que tu veux
absolument t'en servir ?
Cordialement.
Daniel

> On me demande un tableau résumé mais sans TCD ni sommeprod vu le
> grand nombre de ligne et la vétusté du pc utilisé.
>
> Je propose donc de le faire gracieusement en VBA avec tableau et
> dictionnaire mais malgré tous mes efforts, je n'arrive pas à cause ma
> difficulté à comprendre les tableaux et dictionnaires (les pl us
> attentifs le savent) alors que j'ai déjà su en faire mais l à je
> rame(encore). Pour info, je ne suis pas informaticien , juste modeste
> passionné.
>
> Le fichier en attaché montre une partie de la base, un résult at par
> TCD, le même copié en valeur mais je veux arriver à le f aire tout
> pareil par dico dans la feuille "résultats"
>
> Merci de votre aide et des explications dans le code si possible
>
> P.
>
>
> le fichier:
>
> https://www.dropbox.com/s/kmegtjm9wnrchjx/Dico%20et%20Tablo%20XLD.xlsm? dl=0
Avatar
PatrIck
Le lundi 16 mai 2016 11:37:33 UTC+2, PatrIck a écrit :
Bonjour Daniel,

oui je tiens au dico pour ma culture personnelle d'une part, pour sa rapi dité d'autre part :) Le tcd je sais, est plus simple mais il y a aussi le plaisir de la masturbation intellectuelle :) :)

Pour chaque heure, il faut totaliser par ville de destination le nombre d e colis (ça pourrait être des camions) qui y partent et ceci pour une date (appelée [Ladate]) dans mon fichier.
Simple sûrement mais j'ai toujours un problème avec ce qui est la clé du dico, ce qui est l'item et savoir s'il faut en utiliser 2 , voire 3 dico dans ce cas :)
Je pense que ce truc peut être fait avec mon code mais c'est entre l e for et le next que je patauge, et ensuite la répartition des villes en haut de chaque colonne pour arriver à l'exemple en colonne AC.
J'ai beau lire et relire des exemples de Boisgontier, ça n'atteint p as mon neurone :(
Merci :)


Le lundi 16 mai 2016 11:01:11 UTC+2, DanielCo a écrit :
> Bonjour,
> Je ne vois pas comment tu calcules les colonnes résultat. Est-ce q ue tu
> peux expliquer ? D'aautre partr, l'usage d'un dictionnaire n'est
> peut-être pas la solution la plus adaptée. Est-ce que tu veux
> absolument t'en servir ?
> Cordialement.
> Daniel
>
> > On me demande un tableau résumé mais sans TCD ni sommeprod vu le
> > grand nombre de ligne et la vétusté du pc utilisé.
> >
> > Je propose donc de le faire gracieusement en VBA avec tableau et
> > dictionnaire mais malgré tous mes efforts, je n'arrive pas à   cause ma
> > difficulté à comprendre les tableaux et dictionnaires (les plus
> > attentifs le savent) alors que j'ai déjà su en faire mais l à je
> > rame(encore). Pour info, je ne suis pas informaticien , juste modeste
> > passionné.
> >
> > Le fichier en attaché montre une partie de la base, un résu ltat par
> > TCD, le même copié en valeur mais je veux arriver à le faire tout
> > pareil par dico dans la feuille "résultats"
> >
> > Merci de votre aide et des explications dans le code si possible
> >
> > P.
> >
> >
> > le fichier:
> >
> > https://www.dropbox.com/s/kmegtjm9wnrchjx/Dico%20et%20Tablo%20XLD.xls m?dl=0




Je crois que j'ai trouvé , je vais adapter :)

Sub RépartitionEtTotaux()
Dim d, I, C, B
Dim D1, D2, D3
Dim Ws1, Ws2 As Worksheet
Dim Tmp, Tot, S
Set D1 = CreateObject("Scripting.Dictionary")
Set D2 = CreateObject("Scripting.Dictionary")
Set D3 = CreateObject("Scripting.Dictionary")
Set Ws1 = Sheets("F1"): Set Ws2 = Sheets("résultats")
'a = Ws1.[A2].CurrentRegion.Value
Dim a(1 To 100, 1 To 100)
Lig = 1
Col = 1
Mlig = Lig
Mcol = Col
Ws2.Cells.ClearContents
For Each C In Ws1.Range("s2:s" & Ws1.[s65000].End(xlUp).Row)
If C.Offset(, -14) = [Ladate] Then
If D1.exists(C.Value) Then Lig = D1(C.Value) Else D1(C.Value) = Mli g: Lig = Mlig: Mlig = Mlig + 1
Tmp = C.Offset(, -3)
If D2.exists(Tmp) Then Col = D2(Tmp) Else D2(Tmp) = Mcol: Col = M col: Mcol = Mcol + 1
a(Lig, Col) = a(Lig, Col) + C.Offset(, -8)
End If
Next C
Ws2.[f2].Resize(D1.Count, 1) = Application.Transpose(D1.keys)
Ws2.[g1].Resize(1, D2.Count) = D2.keys
Ws2.[g2].Resize(D1.Count, D2.Count) = a
End Sub
Avatar
MichD
Bonjour,

Ton fichier : http://www.cjoint.com/c/FEqlVWpTwpX


MichD
Avatar
PatrIck
Le lundi 16 mai 2016 13:48:30 UTC+2, MichD a écrit :
Bonjour,

Ton fichier : http://www.cjoint.com/c/FEqlVWpTwpX


MichD



Merci Denis, je regarde ça de près :)

P.