VBA_EXCEL 2003 somme nb colonne variable
Résolu/Fermé
A voir également:
- VBA_EXCEL 2003 somme nb colonne variable
- Formule somme excel colonne - Guide
- Déplacer une colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Somme si couleur - Guide
16 réponses
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
6 juin 2011 à 14:07
6 juin 2011 à 14:07
bonjour
ton code me parait assez confus et on doit pouvoir le simplifier pas mal
te serait il possible d'envoyer une partie de ton classeur (sans données confidentielles) sur cjoint.com ou cijoint.fr avec quelques feuilles recueil_xx et un début de la feuille bilan avec ce que tu veux exactement et ou tu veux faire ces bilans (tu copies le lien obtenu dans ton prochain post)
bonne suite
ton code me parait assez confus et on doit pouvoir le simplifier pas mal
te serait il possible d'envoyer une partie de ton classeur (sans données confidentielles) sur cjoint.com ou cijoint.fr avec quelques feuilles recueil_xx et un début de la feuille bilan avec ce que tu veux exactement et ou tu veux faire ces bilans (tu copies le lien obtenu dans ton prochain post)
bonne suite
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
6 juin 2011 à 14:09
6 juin 2011 à 14:09
Hum... J'ai une question. TU mes dans les somme que la longueur des colonnes ne verira jamais... Mais si tu rajoute une valeur en bas, ta macro ne marche plus non?
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
Modifié par Ctesias le 6/06/2011 à 14:25
Modifié par Ctesias le 6/06/2011 à 14:25
Personnellement, j'aurais fait ca :
Il y a de forte chance que cela ne marche pas, mais je pense qu'il y a de l'idée pour réduire tout ton code. Inspire toi en
Dim ligne as integer Dim colonne as integer colonne = Cells(1 , column.Count).End(xltoleft).column For i = 1 to colonne ligne = Range(i).end(xlUp). Row Range("E" & i).Select ActiveCell.FormulaR1C1 = "=SUBTOTAL(5," & colonne & ":"& ligne & ")" Next
Il y a de forte chance que cela ne marche pas, mais je pense qu'il y a de l'idée pour réduire tout ton code. Inspire toi en
Bonjour,
j'ai mis un fichier "anonymisé" sur cijoint.fr: http://www.cijoint.fr/cjlink.php?file=cj201106/cijbnCWlNi.xls
pour ce qui est de la confusion de code c'est le moins que l'on puisse dire je ne connaissait même pas VBA (et à peine excel) avant ce stage :/ et la programmation ce n'est pas vraiment mon fort.
Dans le fichier la macro bilan fonctionne mais pas pour un nombre de feuille variable et la fonction TestBilan est un échec je n'arrive pas à écrire la fonction de somme :/
merci
j'ai mis un fichier "anonymisé" sur cijoint.fr: http://www.cijoint.fr/cjlink.php?file=cj201106/cijbnCWlNi.xls
pour ce qui est de la confusion de code c'est le moins que l'on puisse dire je ne connaissait même pas VBA (et à peine excel) avant ce stage :/ et la programmation ce n'est pas vraiment mon fort.
Dans le fichier la macro bilan fonctionne mais pas pour un nombre de feuille variable et la fonction TestBilan est un échec je n'arrive pas à écrire la fonction de somme :/
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
6 juin 2011 à 14:37
6 juin 2011 à 14:37
Sachant que tes feuilles ont tjrs le meme nom, etr que y'a juste un changement de numéro, rien de plus simple:
Puis:
pour parcourir toutes les feuilles
Dim feuille as integer feuille = Sheets.count 'compte le nombre de feuilles
Puis:
For i = 1 to feuille Sheets("recueuil_"& i).activate next
pour parcourir toutes les feuilles
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
6 juin 2011 à 15:04
6 juin 2011 à 15:04
J'ai vu que ton code etait fait par une macro enregistrée.
Les macro enregistrée sont bien pour découvrir certaines choses, le problèmes, c'est qu'elles compliqueront énormement ton code, qui pourrait se rendre 4 à 5 fois plus court avec des boucles ;)
Les macro enregistrée sont bien pour découvrir certaines choses, le problèmes, c'est qu'elles compliqueront énormement ton code, qui pourrait se rendre 4 à 5 fois plus court avec des boucles ;)
Au départ j'ai essayé de le faire manuellement et ça dépasse mes compétences donc j'ai essayé l'enregistrement de macro pour m'aider mais je n'y arrive toujours pas pour un nombre de feuille variable.
Effectivement je pense que ce que je fais pourrait-être beaucoup plus simple et propre mais avec mes maigres connaissances j'ai du mal
Effectivement je pense que ce que je fais pourrait-être beaucoup plus simple et propre mais avec mes maigres connaissances j'ai du mal
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
6 juin 2011 à 15:09
6 juin 2011 à 15:09
Le probleme, c'est que je pense que tu ne te plonge pas assez dans le VBA, et qu'une bonne dose de tuto te serait favorable =)
Pas qu'une bonne dose :), seulement mon stage étant court et très dense (ce n'est pas un stage d'informatique donc mon apprentissage VBA n'est pas la priorité de mes tuteurs...) j'ai beau essayé de m'améliorer en 1 mois c'est durdur.
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
6 juin 2011 à 15:18
6 juin 2011 à 15:18
Non non, rien de plus simple. VA deja sur le site du zero pour lire le tutuo une ou deux fois, ensuite, tu le laisse ouvert en fond, et voila :p. Tu fais qq recherches si besoin et zbim! t'as fini ;).
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
Modifié par ccm81 le 6/06/2011 à 16:16
Modifié par ccm81 le 6/06/2011 à 16:16
re
un début de réponse (le code est en module 4)
http://www.cijoint.fr/cjlink.php?file=cj201106/cijqAQ2jEG.xls
bonne suite
un début de réponse (le code est en module 4)
http://www.cijoint.fr/cjlink.php?file=cj201106/cijqAQ2jEG.xls
bonne suite
merci beaucoup ccm81,
je vais me plonger dans ce code afin de le comprendre (heureusement qu'il y a un module d'aide dans Microsoft visual basic)
je vais me plonger dans ce code afin de le comprendre (heureusement qu'il y a un module d'aide dans Microsoft visual basic)
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
6 juin 2011 à 16:37
6 juin 2011 à 16:37
re
j'ai essayé de commenter, mais il est possible que ça ne suffise pas
les noms en R (à la fin) se rapportent aux feuille recueil
les noms en B à la feuille bilan
si tu as besoin de plus d'explications, n'hésites pas
bonne suite
j'ai essayé de commenter, mais il est possible que ça ne suffise pas
les noms en R (à la fin) se rapportent aux feuille recueil
les noms en B à la feuille bilan
si tu as besoin de plus d'explications, n'hésites pas
bonne suite
la nomenclature ça j'ai bien compris, c'est logique :). il me reste à me familiariser avec la Fonction InStr() et vbLf mais l'aide devrait m'aider :)