Excel meme cellule sur feuille differente

Fermé
raphrev Messages postés 9 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 24 août 2009 - 23 août 2009 à 10:45
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 25 août 2009 à 00:48
Bonjour,

J'ai un fichier excel composé d'une bonne cinquantaine de feuille qui ont toute la même mise en page, le même modèle. Je souhaiterai créer une nouvelle feuille qui ferait office de synthèse de toutes ces feuilles.
J'essaie d'être plus précis:
Dans ma feuille synthèse, en A1 je voudrai avoir le résultat de la cellule B12 de la feuille 1 soit "='feuille1'!B12". En A2, toujours la cellule B12 mais de la feuille 2 soit "='feuille2'!B12" et ainsi de suite jusqu'à ma feuille 50.
L'idée serait que le nom de la feuille change automatiquement et que la cellule reste toujours la même!
Avez-vous une solution?

Merci d'avance pour votre aide!
A voir également:

11 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
23 août 2009 à 11:32
bonjour

Avec la fonction INDIRECT, en A1 tu mets cette formule et tu peux la "tirer" sur les 50 lignes suivantes :
=INDIRECT("'Feuil"&LIGNE()&"'!B12")

Si ta formule n'est pas en ligne 1, après LIGNE() tu rajoutes -2 si tu es en ligne 3 ou tu adaptes le nombre et aussi le nome de base de tes feuilles "Feuil" que j'ai pris en standard.
0
smartway14 Messages postés 822 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 8 octobre 2011 185
23 août 2009 à 11:42
bonjour;
le nom de la feuille se change par rapport à quoi?
0
raphrev Messages postés 9 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 24 août 2009
23 août 2009 à 14:18
Le nom de mes feuilles n'ont pas de suivi alphabétique (A, B, C, D,...) ou numérique (1, 2, 3, 4,...) ce sont simplement des noms d'événements...

La formule =INDIRECT("'Feuil"&LIGNE()&"'!B12") ne semble pas marcher. Je suis un peu perdu avec les apostrophes et les guillemets, mais je ne pense pas que l'erreur vienne de là. Dois-je écrire exactement Feuil ou par la première ligne je remplace par le nom de ma première feuille et en "tirant" jusqu'à la 50ème ligne il va automatiquement me changer le nom des feuilles???

Merci d'avance!
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
23 août 2009 à 15:09
Salut,

là ça se corse, s’il n’y a pas de progression logique feuille1, feuille 2 etc …il est plus difficile d’écrire une formule sans donner un minimum de renseignement à Excel.
La proposition de gbinforme était la plus logique =INDIRECT("'Feuil"&LIGNE()&"'!B12")

Pour les explications, cela correspond à écrire = Feuil ce symbole & veut dire et , Ligne() le numéro de ligne sur laquelle la formule est écrite, exemple ligne 2 la formule interprété est =Feuil2 sur la ligne 3 =Feuil3 il est également possible de déplacer l’équivalence de la ligne, si la formule est en ligne 2 et que l’on souhaite faire référence à la ligne 5 par exemple pour faire correspondre à la feuille5, on ajoutera +3 etc …

=INDIRECT("'Feuil"&LIGNE()+3&"'!B12")


A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0

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

Posez votre question
raphrev Messages postés 9 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 24 août 2009
23 août 2009 à 15:27
Merci pour ces explications.

Si j'ai bien compris, il faudrait que je renomme mes feuilles de la forme 1-Nomfeuille1, 2-Nomfeuille2, 3-Nomfeuille3,... Et, en rajoutant sur chaque feuille, dans la cellule A1 par exemple, le nom de cette feuille je pourrai avoir quelque chose de la forme:

=INDIRECT("'LIGNE()+3&"-"A1"'!B12")

Aux erreurs d'écritures près, je devrai avoir dans la ligne 2 la cellule B12 de la feuille 5-Nomfeuille5

Possible ou Impossible???

Merci d'avance!
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
23 août 2009 à 15:49
Re,

Pas tout a fait, si tes feuilles sot nommée titi2, titi3 etc ... par exemple et que tu mette en ligne 2 la première formule, elle sera

=INDIRECT("'titi"&LIGNE()&"'!B12")

Ensuite tu incrémentes vers le bas cette formule sans changer quoi que ce soit, automatiquement en ligne 3 tu auras la valeur B12 de la feuille titi3 etc ...

Si la feuille n'existe pas tu auras une valeur d'erreur qui s'affichera #REF! et dès que la feuille sera crée cette valeur d'erreur sera remplacé par la valeur de la cellule B12 de cette feuille ou 0 si la cellule est vide

Si tu n'arrives pas à écrire la formule donnes nous le nom exact de la première feuille sur laquelle tu souhaites recueillir la valeur en B12

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
raphrev Messages postés 9 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 24 août 2009
23 août 2009 à 16:08
Le problème est que chaque feuille correspond à produit par exemple: Souffre, Calcium, Oxygène,... Donc tu vois rien à voir entre elle!
Certes je peux renommer chaque feuille par f1, f2, f3,... ce qui me permettrai alors d'appliquer la formule proposée et de pouvoir comparer ces produits. Mais ensuite, difficile pour moi de retrouver la fiche produit parmi toutes les autres puisqu'elle porte seulement le nom f1, f2, ... A moins peut être de me faire un index...
Si vous avez d'autres idées, des suggestions sur comment renommer mes feuilles, je suis preneur!!!
Merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
23 août 2009 à 18:02
bonjour

Dans ce cas, il te faut passer par une petite fonction spécialisée (mode d'emploi éventuel) à mettre dans un module ou dans ton fichier PERSO.XLS
Public Function nom_onglet(position As Integer) As String
    application.Volatile
    nom_onglet = Sheets(position).Name
End Function

Puis tu reprends la formule précédente :
=INDIRECT(nom_onglet(LIGNE())&"!B12")

ou si dans classeur PERSO.XLS

=INDIRECT(PERSO.XLS!nom_onglet(LIGNE())&"!B12")

Ainsi tu n'as pas besoin de renommer tes onglets mais tu peux le faire et tes formules continuent de fonctionner.

Tu remarqueras que ton exemple avec tes noms de feuilles séquentiels était mal choisi et ainsi induit en erreur.
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
23 août 2009 à 18:34
Salut gbinforme,

Ah joli, je vais essayer de ne pas l’oublier celle la

merci et bravo pour cette leçon

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
raphrev Messages postés 9 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 24 août 2009
24 août 2009 à 11:06
Merci pour cette réponse,
Est-ce que tu peux nous détailler un peu à quoi cela correspond?
Merci d'avance!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
25 août 2009 à 00:48
bonjour

à quoi cela correspond?

Excel te fournit des fonctions que tu utilises mais tu peux créer les tiennes et je t'en ai fournit une avec le mode d'emploi pour la mettre en place.

Lorsque tu as mis ta fonction personnelle en place tu l'utilises comme une autre.
Celle que je t'ai mis récupère simplement le nom de l'onglet en fonction de sa position sur l'écran, ce qui t'évite de renommer et te permet d'obtenir les valeurs de la cellule B12 des différentes feuilles.
0