Macro pour extraire des chiffres de différents classeurs en les ajoutant

Lettou

XLDnaute Nouveau
Bonjour à tous!

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.




Merci !

Lettou
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Macro pour extraire des chiffres de différents classeurs en les ajoutant

Re,

Mais une fois que je met RECAP dans un autre dossier avec d'autres classeurs ça ne fonctionne plus.
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....
 

Lettou

XLDnaute Nouveau
Re : Macro pour extraire des chiffres de différents classeurs en les ajoutant

Re,


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


J'ai bien vérifié ce que tu m'as dit et ça ne marche pas, pourtant tout est pareil... :confused::mad:

Est ce que c'est parce que les fichiers ont des macro aussi? est ce que c'est parce qu'ils sont protégés?

J'ai mis tous les fichiers en dessous, pas facile cette macro didons!!!
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
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...
 

Lettou

XLDnaute Nouveau
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...



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, :-\
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
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
 

Lettou

XLDnaute Nouveau
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


j'ai vérifier les codes d'extension et changé ceux qu'il fallait, mais c'est toujours le même problème:

cela m'affiche :

Erreur d'execution9: L'indice n'appartient pas à la selection

en soulignant ce code la en jaune: Set p = ThisWorkbook.Sheets("RECAP " & ws.Name).Range("C7:CV192")
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
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)
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote