Consolidation Excel onglets multiples

Résolu/Fermé
mantaTM Messages postés 20 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 27 juillet 2012 - 15 juil. 2009 à 15:49
mantaTM Messages postés 20 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 27 juillet 2012 - 15 juil. 2009 à 17:43
Bonjour,

J'ai un petit probleme de consolidation de donnees sous Excel 2003.

J'ai des fichiers comprenant plus de 250 onglets, avec un seul tableau par onglet (fichiers créés automatiquement). Ces onglets ont des noms logiques : Table 1, Table 2, etc...

J'essaye actuellement d'utiliser la consolidation de données pour faire apparaitre sur une meme feuille toutes les données contenues dans la cellule B2 de chacun de mes 250+ onglets.

Je veux donc tout d'abord consolider en A2 d'une page vierge une premiere cellule (ex: cellule B2 de l'onglet Table 1), et ensuite adapter la formule jusqu'a A250...


Probleme : lorsque je tente de consolider les donnees (fonction Somme, et option Lier les donnees sources), Excel me dit "No Data was consolidated"... J'essaye depuis maintenant 2h de regler ce probleme, mais ça me dépasse...

Merci d'avance pour otre aide
A voir également:

8 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
15 juil. 2009 à 17:30
Deux solutions qui me semblent viables :

1/ Une macro avec cette syntaxe
For Numero = 1 To 250
    Range("A" & Numero + 2).Select
    ActiveCell.Formula = "='Table " & Numero & "'!$A$1"
Next Numero


2/ une formule
Dans la colonne A en mettant les nombres de 1 à 250 (en copiant vers le bas)
Mettre dans la cellule B1 la formule suivante :
=INDIRECT("'Table " & A1 & "'!$A$1")

et recopier vers le bas

A adapter peut-être

2
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
15 juil. 2009 à 16:33
Bonjour,

Je n'ai pas l'habitude d'utiliser la consolidation mais j'ai déjà eu l'occasion de mettre dans une feuille des sommes de données se trouvant dans plusieurs autres feuilles et pour cela j'utilise tout simplement une formule du type :

=SOMME('Table 1:Table 250'!B2)

Cela fonctionne bien et on peut recopier la formule vers le bas et/ou la droite pour avoir les sommes des autres lignes/colonnes.

A tout hasard si cela peut aider (en espérant ne pas être hors sujet)

A+
1
mantaTM Messages postés 20 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 27 juillet 2012 3
15 juil. 2009 à 16:40
Salut,


Merci de ton aide. Ta formule ne marchais pas mais cela m'a donner une idée.

Dans ma page vierge je tape ='Table 1'!$B$2 et cela m'importe les données pour l'onglet 1 cellule B2.

Seulement etant donné que Table 1 est un nom donné a l'onglet, lorsque je recopie vers le bas il ne change pas d'onglet. Aurais tu une idee? Je vais tenté en macro, mais comme je débute...


ps: je n'ai besoin QUE de la cellule B2 dans chaque onglet.
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
15 juil. 2009 à 16:52
Normalement, ma formule fonctionne si Table 1 et Table 250 sont des noms d'onglets, il somme tous les onglets se trouvant entre les deux. Sinon il faut juste adapter les noms. Cela marche même avec des noms quelconques
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mantaTM Messages postés 20 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 27 juillet 2012 3
15 juil. 2009 à 16:54
D'accord, mais le probleme est que ce ne sont pas des nombres que je veux ajouter, mais des references (lettres + chiffres) que je veux mettre en colonne sur la premiere page.
0
mantaTM Messages postés 20 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 27 juillet 2012 3
15 juil. 2009 à 17:12
J'ai enregistrer cette macro :

ActiveCell.FormulaR1C1 = "='Table 1'!RC[1]"
Range("A3").Select
ActiveCell.FormulaR1C1 = "='Table 2'!R[-1]C[1]"
Range("A4").Select
ActiveCell.FormulaR1C1 = "='Table 3'!R[-2]C[1]"
Range("A5").Select
End Sub


Une idee pour l'automatiser jusqu'a Range A250 et Table 250 ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
15 juil. 2009 à 17:30
Bonjour
sans VBA
dans A2 tu écris:
=INDIRECT("'table "&LIGNE()-1&"'!B$2")
et tu tires vers le bas pour avoir la valeur de B2 dans chaque "table"
lire
indirect(guillemet...apostrophe, ..............-1&... guillemet... apostrophe.. point d'exclamation....
si tu commences en A3 tu marques LIGNE()-2
0
mantaTM Messages postés 20 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 27 juillet 2012 3
15 juil. 2009 à 17:43
Merci beacuoup a vous deux.

Solution prise : la macro de Pilas, qui une fois adaptée a mon fichier a donner les resultats esperés !! Merci donc.
0