Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

formule intégrant la valeur d une cellule d'une feuille précédente pour copie

  • Initiateur de la discussion Initiateur de la discussion melba
  • 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 !

melba

XLDnaute Occasionnel
Bonjour,

J'ai vraiment beaucoup de mal avec la formule INDIRECT.

Je souhaite faire la somme de 2 cellules dont 1 se trouve sur la feuille précédente.

=A5+'2'!B5 par exemple.
Cette formule va se trouver sur une feuille que je vais ensuite copier.
Je ne trouve pas très efficace de devoir changer sur chaque nouvelle feuille le nom de la feuille précédente ( j ai 12 feuilles). Je ne sais pas écrire la formule qui signifie : additionner la cellule A5 de la page courante et la cellule B5 de la feuille qui précède.
Merci pour votre aide qui me ferait gagner un temps précieux.
@+
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Bonjour,

oui depuis hier j essaye d'adapter la formule qui m a été donnée
Il s'agissait pour moi de copier la formule cette fois ci vers le bas mais je n'y arrive pas.
Dans un premier temps vous m aviez donné
SOMME(INDIRECT("Feuil"&COLONNES($A:B)&"!$B5:$C5")) et j avais pu copier vers la droite. Le résultat était très bien mais je souhaitais aussi pouvoir copier vers le bas et c'est là que vous m'avez suggéré :
SOMME(INDIRECT("Feuil"&COLONNES($A:A)&"!B"&LIGNES($1:5)&":C"&LIGNES($1:5))).
Je n'arrive pas à adapter car je ne comprends pas vraiment.
En désespoir de cause j ai un peu laissé tomber et cette fois ci je veux additionner une cellule se trouvant sur une feuille à une autre se trouvant sur la feuille précédente.
Je dois ensuite copier cette feuille 12 fois mais j'aimerais ne pas avoir à ré écrire la formule. Je me suis dit que indirect était peut-être aussi adapté pour cela mais je sèche toujours.
Merci pour votre aide.
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Re-bonjour,

Hier j'avais cru comprendre que les 12 feuilles étaient présentes dans le classeur. Aujourd'hui, tu les ajouterais au fur et à mesure? Au départ d'un modèle existant? Pour les autres lecteurs, je ne sais ... moi, j'ai un peu de mal à comprendre ce que tu voudrais faire!
Dans ton exemple d'hier les feuilles se nommaient "Feuil1", "Feuil2", etc ... aujourd'hui, ce serait 1, 2, 3, etc ...?

Si la formule d'hier correspondait à ce que tu souhaites, on peut prendre le temps de décortiquer un peu, si tu veux finalement autre chose, il faudrait que tu expliques clairement et si possible, que tu illustres par un fichier.
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Oui j'admets que tout cela n'est pas très clair.
En fait pour poser ma question hier c'est vrai que j'avais fourni un fichier test dans lequel les feuilles n'avaient pas été renommées. Parallèlement je travaille dans mon véritable fichier dans lequel j'ai copié la feuille 1 et l'ai renommée 2 etc....et je dois faire ceci 11 fois pour avoir tous les mois de l'année.
La formule d'hier : SOMME(INDIRECT("Feuil"&COLONNES($A:B)&"!$B5:$C5")) me convenait sauf lorsque j'ai voulu aussi copier vers le bas (sur la même feuille).
je viens de réessayer : SOMME(INDIRECT("Feuil"&COLONNES($A:A)&"!B"&LIGNES( $1:5)&":C"&LIGNES($1:5))). Et c'est formidable ça fonctionne : donc copie vers la droite et vers le bas.
Pourrais-tu me décortiquer un peu cette formule dans un langage pour néophyte? Elle me sera sans doute très utile.
Mon problème suivant est celui-ci :
je souhaite écrire sur cette feuille2 en E5 une formule qui signifie "ajouter E5 de la FEUILLE PRECEDENTE + E5 de cette feuille2.
De cette façon je pourrai par la suite faire une copie de la feuille2 en faisant " déplacer ou copier" et la formule fonctionnera
quand même sans que j'ai à la modifier sachant que cette feuille 2 je vais en faire une dizaine de copies.(pour tous les mois de l'année).
Merci de votre patience.
 
Dernière édition:
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Bonsoir

Est-ce que le nom de tes feuilles suit une syntaxe particulière, as tu le choix ?

@ plus
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

par la suite mes feuilles s'appelleront : 1, 2 , 3 etc jusqu'à 12 sans syntaxe particulière.
@+
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Bonsoir

Deux exemples en pièce jointe. Malheureusement, cela ne fonctionne pas nickel : certaines fois, cela donne le résultat, d'autres fois, il faut rafraichir la page (F9), d'autres fois, il y a un message d'erreur...

@ plus
 

Pièces jointes

Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Bonjour,

merci d'avoir essayé , je dois m'absenter aujourd'hui mais à mon retour j'étudierai tes suggestions

Bonne journée
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Bonjour melba, salut Modeste, CISCO,

CISCO utilise la fonction macro excel 4.0 LIRE.CLASSEUR.

Alors une solution avec une fonction macro VBA :

Code:
Function PREC(cel As Range)
Dim feuille As Byte
Application.Volatile
feuille = cel.Parent.Name 'nom de la feuille
PREC = Sheets(CStr(feuille - 1)).Range(cel.Address)
End Function
Et formule en E5 des feuilles 2 à 4 :

=A5+PREC(B5)

Nota : je me suis basé sur la formule du post #1 : =A5+'2'!B5

Fichier joint.

A+
 

Pièces jointes

Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Re,

Une autre solution est de télécharger sur le web (c'est gratuit) la macro complémentaire Morefunc de Laurent Longre.

C'est une bibliothèque de fonctions parmi lesquelles DECALERFEUILLE.

Entrer en E5 la formule :

=A5+DECALERFEUILLE(B5;-1)

Nota : l'installation de Morefunc est possible jusqu'à Excel 2007, pas au delà semble-t-il.

A+
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Merci à tous,

il faut que je me penche vraiment sur l'articulation de la formule indirect qui me paraît complexe.
La fonction PREC me semble plus accessible mais pour utiliser cette macro vba est ce que je dois copier le code de Job 75 ou bien cette macro existe t elle, le cas échéant où puis je la trouver? J'ai tenté de visualiser ce code en faisant ' developpeur/visualiser le code". J'ai reussi une fois mais sans bien comprendre sur quoi j'avais cliqué et maintenant je n'arrive pas à le retrouver.
J'ai voulu copier ce code:
Function PREC(cel As Range)
Dim feuille As Byte
Application.Volatile
feuille = cel.Parent.Name 'nom de la feuille
PREC = Sheets(CStr(feuille - 1)).Range(cel.Address)
End Function

dans le code du développeur ( en le récupérant dans le post) mais ça ne marche pas.

Je crois que j'ai besoin de votre aide car je pense que ce code pourrait m'être utile.

J'examinerai tout à l'heure la fonction DECALERFEUILLE

Merci encore
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Bonjour melba,

Le code de la fonction PREC doit être placé (copié) dans un module standard :

- Alt+F11 pour accéder à VBA

- menu Insertion => Module.

Ensuite on l'utilise dans une feuille de calcul, comme dans le fichier que j'ai déposé.

A+
 
Re : formule intégrant la valeur d une cellule d'une feuille précédente pour copie

Bonjour melba, salut CISCO et job, merci d'avoir ouvert d'autres voies!

@melba pour la macro de job75, comme il s'agit d'une fonction personnalisée, le code doit obligatoirement figurer dans un module: ouvre le fichier, appuye sur Alt+F11, dans l'éditeur VBA, à gauche, l'explorateur de projet doit afficher les différentes feuilles, ThisWorkbook, ainsi que Module1. Le code de la fonction est donc dans ce dernier.

Puisque tu adores la fonction INDIRECT 😉 ceci fait la même chose que la fonction personnalisée de job:
Code:
=A5+INDIRECT(STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;2)*1-1&"!B5")
Attention, le résultat correct ne s'affiche que quand la feuille est nommée comme tu l'as annoncé (chiffre de 1 à 12)

Oooops: salut job🙂
 

Pièces jointes

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…