Je suis entrain de créer une macro qui me permettrait de récolter des informations chiffrées dans plusieurs classeurs qui seront mis à jour chaque mois.
Il y aura au moins 30 classeurs par mois, mais il se peut que certains mois il y ai peut-être un classeur de plus ou de moins ou une ligne de plus ou de moins dans les classeurs, cela dépend de la personne qui le remplira.
Je voudrais donc créer une macro qui va chercher les informations dans chaque classeur et les rapporte dans le classeur RECAP.
J'ai commencé par créer un dossier dans "mes documents" ou je vais mettre tous les classeurs reçu chaque mois.
Comme ca je collerai chaque mois ces classeurs dans le fichier et la macro ira les chercher.
Jusque là tout va bien, la macro fonctionne: elle va chercher le classeur dans mes documents, l'ouvre, copie les chiffres, et colle ces chiffres dans le classeur RECAP puis passe à l'autre classeur, copie, colle.etc...
Mon problème : quand je lance ma macro, a chaque fois qu’elle ouvre un nouveau classeur et qu'elle copie les chiffres dans le classeur RECAP, elle efface les anciens chiffres copiés du classeur précédent, il n’y a donc aucun cumule…
J'aimerais donc pouvoir ajouter un code pour ajouter chaque chiffres au précédent, comme un genre de « collage spécial addition ». Et c’est à ce moment là que je bloque !!!
De plus, J’ai réussi à faire cette macro pour les 4 onglets du classeur RECAP mais ça fait long, je ne sais pas si c’est possible de simplifier les codes.
Je fais donc appel à vous pour pouvoir progresser. Pourriez-vous m'aider à compléter ma macro?
A noter:
Voici les fichiers pour vous aider à comprendre mon problème, Les cellules à copier sont celles qui font partie du cadre bleu. Chaque classeur que je recevrai aura un nom de pays, j’ai pris comme exemple France, Italie, Espagne dans ma macro.
bah oui normal.... traite tous les xlsm du dossier.... tu disais pourtant avoir créer un dossier spécifique.... il faut de toute façon que ces classeurs ne comporteent que des feuilles dont le nom est equivalent dans le classeur RECAP.... puisqu'il recherche systèmatiquement la feuille en question.... donc pas de feuille vierge ou autre dont le nom serait inconnu dans le classeur RECAP....
bah oui normal.... traite tous les xlsm du dossier.... tu disais pourtant avoir créer un dossier spécifique.... il faut de toute façon que ces classeurs ne comporteent que des feuilles dont le nom est equivalent dans le classeur RECAP.... puisqu'il recherche systèmatiquement la feuille en question.... donc pas de feuille vierge ou autre dont le nom serait inconnu dans le classeur RECAP....
Re : Macro pour extraire des chiffres de différents classeurs en les ajoutant
Re,
déjà dans le fichier RECAP que tu as mis, le nom des onglets ne commence pas par RECAP.... quand tu disais ceci post #22 tous les noms d'onglet commencaient par RECAP...
Par contre j'ai réagi que j'avais oublié un paramètre dans mon fichier RECAP: Il n'y a pas qu"un seul onglet de cumule, mais 4, car un cumule pour chaque onglet :-/
donc, en l'état ca va moins bien marcher..... enlève le mot "RECAP " de cette instruction :
Code:
Set p = ThisWorkbook.Sheets("RECAP " & ws.Name).Range("C7:CV192")
A noter également ton classeur CHINE est protégé à l'ouverture..... donc bogue également..... regarde dans l'aide vba, possibilité de passer en argument les mots de passe... si au moin c'est toujours le même... A voir mais source d'ennui...
déjà dans le fichier RECAP que tu as mis, le nom des onglets ne commence pas par RECAP.... quand tu disais ceci post #22 tous les noms d'onglet commencaient par RECAP...
donc, en l'état ca va moins bien marcher..... enlève le mot "RECAP " de cette instruction :
Code:
Set p = ThisWorkbook.Sheets("RECAP " & ws.Name).Range("C7:CV192")
A noter également ton classeur CHINE est protégé à l'ouverture..... donc bogue également..... regarde dans l'aide vba, possibilité de passer en argument les mots de passe... si au moin c'est toujours le même... A voir mais source d'ennui...
Je te remercie pour les infos, alors j'ai tout enlevé: les protections et j'ai rajouté les mots RECAP sur les onglets et maintenant il ne se passe plus rien du tout, :-\
Re : Macro pour extraire des chiffres de différents classeurs en les ajoutant
Re,
tes classeur "pays" sont des xlsx.... ici le code test des xlsm.... modifier dans le code l'extension.... regarde la judicieuse remarque de modeste gd, que je salue au passage, post #34
tes classeur "pays" sont des xlsx.... ici le code test des xlsm.... modifier dans le code l'extension.... regarde la judicieuse remarque de modeste gd, que je salue au passage, post #34
Re : Macro pour extraire des chiffres de différents classeurs en les ajoutant
Re,
sans doute pas de feuille dans le classeur RECAP ayant comme nom "RECAP " et le nom de la feuille prise dans la boucle.... A noter dans ton classeur CHINE, des feuilles masquées qui à mon avis ne sont pas dans la RECAP.....
As tu regardé du coté de la consolidation ??
Edition : teste ton code pas à pas (touche F8 dans l'éditeur vba)