Macro VBA : affichage ds une feuilles les sommescalculées sur une liste variable
lallamimouna
Messages postés1Date d'inscriptionmardi 16 juin 2009StatutMembreDernière intervention16 juin 2009
-
16 juin 2009 à 22:22
Egalon
Messages postés124Date d'inscriptionlundi 26 avril 2004StatutMembreDernière intervention17 juin 2011
-
18 juin 2009 à 22:15
Bonjour,
Je suis débutante en Macro execl et j'ai besoin d'aide!!!
je vous explique mon Pb:
J'ai ds un classeur exel deux feuilles:
- Feuilles info( contient deux colones: col A qui rassemble une liste de noms(a, b,c...) , Col B des Qtes)
EX: feuille 1 : info
Colone A Colone B
a x
b y
c z
...
....
- Feuilles Suivi(c'est une extraction quotidiennes donc plages variables plus de 600 lignes ) qui contien clones A les noms mais sur plusieurs lignes avce les qtes sur la colone B
EX: feuille 2 Suivi
Colone A Colone B
a 2
a 4
a 4
b 23
b 4
c 7
c 23
c 11
c 87
c 55
Je voudrais faire une macro qui fasse une boucle et qui me calcul ds la cellule x ds la feuille info la somme des Qtes liés au nom : a se trouvant sur la feuille suivi : à savoir pr l'exemple: 2+4+4=10
et que le resultat de de la macro apres execution soit l'affichage dans les cellules de la colone B de la feuille suivi DE LA SOMME correspondants à chaque nom.
pour l'instant, je suis juste arriver à copier l'extraction d'un autres classeur fermé à ce classeur .
Merci d'avance pour vos futurs idées!!
A voir également:
Macro VBA : affichage ds une feuilles les sommescalculées sur une liste variable
Egalon
Messages postés124Date d'inscriptionlundi 26 avril 2004StatutMembreDernière intervention17 juin 2011 18 juin 2009 à 22:15
essaie un truc du genre, ca te donnera au moins la méthode si ce n'est pas totalement juste:
debut = CInt(InputBox("A partir de quelle ligne ?", , 2))
parc = debut
nb_lignessuivi = Sheets("suivi").Cells(65536, "A").End(xlUp).Row
Do While ((parc <= nb_lignessuivi)) 'parcours la 1ere colonne
valA = Sheets("suivi").Range("A" & parc).value
nb_lignesinfo = Sheets("info").Cells(65536, "A").End(xlUp).Row 'je compte les lignes
trouve = false
parc2 = 1
'je vérifie sa présence dans toutes les lignes de la feuile info:
Do While ((parc2 <= nb_lignesinfo) and not(trouve))
valB = Sheets("info").Range("A" & parc2).value
If (InStr(valB, valA)) Then 'existe deja, je rajoute
trouve = True
Sheets("info").Range("B" & parc).value = Sheets("info").Range("B" & parc).value + _
Sheets("suivi").Range("B" & parc).value
End If
parc2 = parc2 + 1
loop
if not(trouve) then 'ben si malgré tou je l'ai pas trouvé, je l'ajoute à la suite
Sheets("info").Range("A" & nb_lignessuivi+1).value = Sheets("suivi").Range("A" & parc).value
Sheets("info").Range("B" & nb_lignessuivi+1).value = Sheets("suivi").Range("B" & parc).value
end if
Loop