Incrémenter formule 'feuil1'

  • Initiateur de la discussion Initiateur de la discussion hypo78
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

hypo78

XLDnaute Impliqué
Bonjour à tous,

Dans un classeur j'ai par exemple 30 feuilles identiques.
Je pars de la feuil1 pour la copier en 29 exemplaires.
Ce que je souhaite :
en feuil2 la cellule A1=Feuil1!A2
en feuil3 la cellule A1=Feuil2!A2
etc......

Pour résumer comment lui dire que la formule = A2 de la feuille précédente

Merci d'avance
 
Re : Incrémenter formule 'feuil1'

Bonjour, salut Gorfael,

J'ai compris autre chose.
Comment incrémenter une formule qui renvoie vers la feuille précédente en copiant cette feuille ?

De la Feui1! vers la Feuil2! il n'y a pas moyen puisqu'il n'y a pas de feuille qui précède la Feuil1!

Si les feuilles sont réellement nommées Feuil1, Feuil2, Feuil3, ..., on peut par formule extraire le nom de la feuille et modifier son numéro par son numéro - 1

Si ce n'est pas le cas, il existe la fonction DECALERFEUILLE() sous les fonctions complémentaires de Morefunc (à télécharger gratuitement sur la toile).
 
Re : Incrémenter formule 'feuil1'

Re,
effectivement ce n'est pas possible avec la feuil1 (vu que c'est la première de la série) mais c'est bien ce qu'il me faut à partir de la feuil2.
J'ai donc utiliser la formule de Gorfael mais elle ne fonctionne que sur la feuil2 (qui va chercher la valeur sur la Feuil1; Quand je crée une copie de la Feuil2 en la renommant Feuil3 çà ne fonctionne pas.

Si la solution est d'utiliser DECALERFEUILLE je me pose une question : cette application va être utilisée par différents utilisateurs en réseau, est ce que çà oblige tout le monde à télécharger Morefunc?
Merci d'avance
 
Dernière édition:
Re : Incrémenter formule 'feuil1'

Re,

Je déduis de ta réponse que les feuilles ne se nomment pas Feuil1!, Feuil2!, ...
Et comme il y a une trentaine, pas non plus Janvier, Février, ...

Effectivement les fonctions complémentaires Morefunc doivent être présentes sur chaque poste du réseau, ce n'est donc pas la solution.

Il existe encore une autre solution :
Lister dans une feuille les noms des onglets des trente feuilles.
Dans la formule de chaque feuille extraire le nom de l'onglet et rechercher dans cette liste le nom qui précède.
 
Re : Incrémenter formule 'feuil1'

Bonjour

Peut être pourras tu faire avec la fonction XL4 LIRE.CELLULE(32) (cf. les infos sur https://www.excel-downloads.com/threads/astuce-recente-lire-cellule.32955/).

Cf. un exemple sur le fichier ci-joint.

Trois défauts :
* Il faut forcément utiliser cette fonction dans une formule définissant un nom, et pas directement dans une formule dans une cellule.
* Le résultat n'est pas automatiquement réactualisé. Pour cela, il faut par exemple faire F9.
* Cela ne passe qu'avec une extension acceptant les macros.

Ceci dit, comme je pense ne pas avoir totalement compris ton besoin...

@ plus
 

Pièces jointes

Dernière édition:
Re : Incrémenter formule 'feuil1'

Bonjour,

A essayer en D2 :

Code:
=INDIRECT(TEXTE(STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;32)-1;"00")&"!A"&LIGNES($1:2))

à recopier vers le bas

(fonctionne sur fichier enregistré)

@+
 
Re : Incrémenter formule 'feuil1'

re,

en avant pour une tentative d'explication :

Décomposition de la formule :

Code:
STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;32)
cette partie de la formule permet de récupérer le nom de l'onglet. (comme indiqué tout à l'heure, cette formule fonctionne à condition que le fichier ait déjà été enregistré).

Les noms de tes onglets sont numériques. Je déduis donc 1 du résultat pour obtenir le nom de l'onglet précédent.

La fonction TEXTE permet ensuite de mettre le numéro sur deux caractères.

Reste à intégrer le tout dans une fonction INDIRECT et à y ajouter la référence de la cellule avec :

Code:
&"!A"&LIGNES($1:2)

Dans la mesure où les données sont sur la même ligne, on peut simplifier en :

Code:
&"!A"&LIGNE()

Voilou

@+
 
Re : Incrémenter formule 'feuil1'

Bonjour à tous, bonjour Tibo et hypo78

Une autre possibilité en pièce jointe.
Code:
=DECALER(INDIRECT(INDEX(listenomfeuil;DROITE(nomfeuille;NBCAR(nomfeuille)-TROUVE("]";nomfeuille))-1)&"!A2");LIGNE()-2;)

La formule de base est celle commençant par INDIRECT. Le DECALER (......; LIGNE()-2) n'est là que pour faciliter le copier-coller vers le bas, qui ne fonctionne pas avec INDIRECT seul.

Malheureusement, la mise à jour ne se fait pas automatiquement lorsqu'on passe d'une feuille à l'autre. Il faut penser à faire F9 pour avoir les bons résultats. Conclusion : la proposition de Tibo est plus pratique.


@ plus
 

Pièces jointes

Dernière édition:
Re : Incrémenter formule 'feuil1'

Re Tibo, bonjour Cisco,

Merci Tibo pour cette explication qui me permet de découvrir et comprendre de nouvelles fonctions.
Merci Cisco pour cette nouvelle solution que je teste dès que j'ai 2 minutes.
Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
346
wDog66
W
Réponses
3
Affichages
256
Réponses
7
Affichages
305
Réponses
10
Affichages
283
Retour