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

XL 2010 VBA total selectif

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

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 ....
[TABLE="width: 83"]
[TR]
[/TR]
[/TABLE]
[TABLE="width: 83"]
[TR]
[TD="width: 83"][TABLE="width: 83"]
[TR]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
 

Pièces jointes

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 ????
 
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

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
 
Re : VBA total selectif

Bsr Gosselien
ça c'est mieux j'ai juste inséré et lancé vite fait > erreur 1004 à la fin
As tu testé dans mon fichier ?
Merci bonne nuit ....je vais dodo
 
- 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

Réponses
0
Affichages
813
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…