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

code et boucle de subtotal

hidozo

XLDnaute Occasionnel
bonjour,
remarque :

J'utilise une fonction subtotal dans un code et le numéro qui fait la somme est donné dans l'aide : 3 je crois.

En fait cela ne fonctionne pas et en essayant j'ai pris le code 9 qui me fait effectivement la somme. Bizarre non ?

Question :
Mon formulaire me permet de saisir dans une feuille excel des données que je dois compiler à la semaine et au mois. J'ai fait le code qui me donne automatiquement le mois et la semaine.

Cependant je dois réaliser la somme et compiler les données :

- à la fermeture du formulaire, je veux réaliser un filtre en faisant le total de la semaine en cours et du mois en cours :

J'écris donc le code suivant (totalA étant le numéro de semaine):

'mise en place du filtre
worksheets("synthèse CEQ").range("b2").AutoFilter:=50, criteria:=totalA
Worksheets("compilation CEQ").select


' calcul du subtotal et copie dans feuille compilation :
range("c3").Activate
Activecell.formula=application.subtotal(9, worksheets("Synthèse CEQ").Range("C3:c10000"))

Ca fonctionne !!!! pour le 1er critère de la 1ère semaine

Le problème est que sur ce formulaire, j'ai 60 critères et 52 semaines !!!! donc bonjour la ligne de code et que sur l'autre formulaire, j'ai 200 critères.

J'aimerai faire une boucle qui me permette de dire :

si semaine 1 coller le résultat en c3
si semaine 2 coller le résultat en c3

et idem pour les autres critères en d, e, f.....

Pour l'instant j'ai pris l'option :

If totala = 1 then
'et je mets le code pour tout coller dans la ligne 3

if totala=2 then
' et je mets le code pour tout coller dans la ligne 4

etc...

J'ai essayé avec for i = 1 to 52, mais je n'arrive pas à l'intégrer dans le calcul du subtotal enfin je n'arrive pas à faire le lien avec le numéro de semaine.

Est-ce que quelqu'un peut m'aider ?

Cordialement

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