Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 VBA total selectif

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
1) je mets un fichier
2) là je n'ai aucune idée de la méthode : quel code VBA pour faire la RECAP qui totalise chaque produit de sheet 1 en sheet 2
en gros j'attends :
vis 4 x 50 450 etc ....
 

Pièces jointes

  • total_selectif.xlsx
    8.9 KB · Affichages: 15

herve62

XLDnaute Barbatruc
Supporter XLD
Re : VBA total selectif

si avec macro ..forcément
mais je n'ai pas l'idée de départ !!
après j'ai assez d'expérience pour continuer
Je pense que comparer 2 tableaux dont 1 figé je sais faire :
Code:
Function Diff(tab1, tab2)
  Set MonDico1 = CreateObject("Scripting.Dictionary")
  For Each c In tab2: tmp = c: MonDico1(tmp) = "": Next c
  Set mondico2 = CreateObject("Scripting.Dictionary")
  For Each c In tab1
    tmp = c
    If Not MonDico1.Exists(tmp) Then mondico2(tmp) = ""
  Next c
  Dim d()
 On Error Resume Next
 tmp = Application.Caller.Rows.Count
 If Err = 0 Then ReDim d(1 To Application.Caller.Rows.Count) Else ReDim d(1 To MonDico1.Count)
 On Error GoTo 0
 i = 1
 If mondico2.Count = 0 Then Absent = False: Exit Function
 For Each c In mondico2.keys
     d(i) = c
     i = i + 1
 Next c
 Call tri(d(), 1, mondico2.Count)
 Diff = Application.Transpose(d)
End Function

Mais là au départ la liste des articles n'est pas figée donc comme pour le code ci-dessus on peut pas mettre une plage un peu " cachée" , ex : vis 4 x 50 , piton ....etc et si demain je trouve dans la liste "Clé 6 pans " on fait comment ????
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : VBA total selectif

Slt Cht'i
ma grosse faiblesse en plus de 20 ans je n'ai jamais su me mettre aux formules ( étant programmateur en x langages de base) et je n'y comprends rien
Donc je sais pas adapter , là je fais comment si la liste augmente ?? mon but étant aussi de pouvoir choisir un article seul d'ou la souplesse et la force du VBA
La feuille 2 est une RECAP donc je ne suis pas sensé savoir ce qu'il y a comme articles en feuille 1 .
 

Pièces jointes

  • total_selectif2.xlsm
    16.4 KB · Affichages: 15

gosselien

XLDnaute Barbatruc
Re : VBA total selectif

Bonjour,

comme ceci ça peut aller ?


P.

Code:
Sub TotalF1enF2()
Dim Ws1, Ws2 As Worksheet
Set Ws1 = Sheets("feuil1")
Set Ws2 = Sheets("feuil2")
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In Ws1.Range("a2", Ws1.[a65000].End(xlUp))
     mondico(c.Value) = mondico(c.Value) + c.Offset(, 1).Value
  Next c
  Ws2.[E2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
  Ws2.[f2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)
  Ws2.[E1].Sort Key1:=[E2], Order1:=xlAscending, Header:=xlYes
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…