Prendre la valeur d'une cellule sur onglet précédent

Bonjour,

je galère un peu et donc je viens vous voir.

J'ai un fichier qui comporte 52 onglets - de Sem01 à Sem 52

ce sont des feuilles de ventes et achats.

J'ai un total des ventes, achats par semaine - celui ci est reporté sur un mois puis sur un trimestre.

A chaque fois, je vais chercher le montant du mois sur la feuille précédente, idem pour le trimestre. Je voudrais automatiser cela en faisant automatiquement : (nous sommes en semaine 40) = "sem39"!B59

et que à la feuille suivante cela me donne "sem40-1" puis "sem41-1" etc

Pouvez vous m'aider ?

Je vous en remercie.

Bonjour,

On peut avec une UDF concevoir de demander la cellule A1 de l'onglet précédent ...

Est-ce-bien cela dont tu as besoin ...?

Il faut que tes 52 feuilles soient correctement ordonnées ....

Tu peux tester la fonction suivante :

Function FeuilPrec(rRng As Excel.Range) As Variant
' Exemple dans une cellule  =FeuilPrec(A1)
  Dim nIndex As Integer
  Application.Volatile
  If rRng Is Nothing Then Set rRng = Application.Caller
  nIndex = rRng.Parent.Index
     If nIndex > 1 Then
        Set FeuilPrec = Sheets(nIndex - 1).Range(rRng.Address)
     Else
        FeuilPrec = CVErr(xlErrRef)
     End If
End Function

En espèrant que cela t'aide

Merci beaucoup pour ta réponse aussi rapide.

Je teste cela demain matin et te tiens au courant

OK ...

Il ne faut pas hésiter à revenir ... en cas de difficulté ...

Bonjour SimKmil,

essayez cette formule en prenant soin de remplacer A26, par la référence à une cellule contenant une date de la semaine en cours

=INDIRECT(SI(NO.SEMAINE.ISO(A26)<10;"sem0"&NO.SEMAINE.ISO(A26)-1&"!B39";"sem"&NO.SEMAINE.ISO(A26)-1&"!B39"))

Merci James007,

je viens de tester ce que tu m'as proposé. Et je n'y arrive pas !

J'ai enregistré le code dans Visual Basic, mais je ne sais pas aller le rechercher ni le faire démarrer.

donc voila ! je n'y arrive pas. Suis pas vraiment doué !!

Merci NJHUB, mais non chez moi ça ne marche pas non plus.

Je vais peut être tenter d'être plus clair sur ce que je cherche:

j'ai 52 feuilles nommées Sem01 à Sem52 représentant les semaines de l'année.

Sur ces feuilles je fais les comptes des ventes et achats d'une entreprise.

Jai une plage reprenant chaque semaine les totaux vente - achat - Bénéfice brut et Pourcentage

cette plage se remplis par l'inscription plus haut du détail des ventes et des achats.

A coté de cela, j'ai une deuxième plage reprenant les totaux du mois. Identique à la première.

Pour la remplir, chaque semaine je me mets en cellule "Ventes du mois" et je vais chercher le total sur la feuille de la semaine précédente auquel j'ajoute le total de la vente de la semaine en cours.

Idem pour le trimestre.

je joins un petit exemple de ce que je voudrais.

41essaiexcel.xlsx (11.60 Ko)

Merci James007,

je viens de tester ce que tu m'as proposé. Et je n'y arrive pas !

J'ai enregistré le code dans Visual Basic, mais je ne sais pas aller le rechercher ni le faire démarrer.

donc voila ! je n'y arrive pas. Suis pas vraiment doué !!

Bonjour,

Une fois que tu as copié la fonction dans un module ... Alt + F11 ...

Pour l'utiliser ... tu as sur la ligne verte un exemple ...

Donc à l'endroit où tu veux ton résultat ... tu tapes =FeuilPrec( la cellule que tu veux)

J'espère que cette explication est assez claire ...

P.S. Avec ton fichier Essai joint ... tu comprendras mieux ...

103essaiexcel.xlsm (17.29 Ko)

Bonjour SimKmil,

voyez si le fichier joint répond à vos attentes

Bonjour Dany,

J'espère qu'avec les fichiers joints ... tous tes problèmes se sont envolés ...

Bonjour SimKmil (..)

Heureusement que tu ne souhaites pas comptabiliser au jour le jour ! cela ferait 365 et parfois 366 onglets à traiter !

Même avec un code VBA bien optimisé cela prendrait quand même pas mal de temps ! Surtout qu'il faut faire 365 fois la même chose... Une chance VBA offre la possibilité d'écrire une seule procédure et de s'en servir autant de fois que l'on veut !

En l'état de ton fichier, il me semble qu'il serait bon de repenser la structure !

Ce n'est pas parce qu'Excel offre la possibilité quasi-infinie de créer des feuilles (ou onglets) qu'il faut en faire un maximum !

Il vaut mieux envisager une solution qui tendrait vers le minimum ou au pire vers l'optimum !

Pour étayer ce propos, tente de m'expliquer quelle est la différence (dans ton classeur) entre la semaine 1, la semaine 2, la 3... la 52 ?

Imagine-toi faire les opérations que tu demandes à Excel de faire pour toi ! Tu as besoin de combien de calculatrices ?

@ NCC 1701

Ton indéfectible optimisme pourrait finir par te perdre ...

(re)

James007 a écrit :

Ton indéfectible optimisme pourrait finir par te perdre

C'est décidé... Je vais me mettre à écrire la :

Function AbsloueQuiTraiteTousLesProblèmesEnMemeTemps(enFonctionDeNimporteQuelleQuestion)
...
End Function

Il n'y aura alors plus qu'à cliquer sur "TOUT SELECTIONNER" faire [CtrlC] [Halte F11] [CtrlV] [F5]

Merci à tous les deux.une aide tres précieuse et j'avance bien dans mon tableau.

Je vais de ce pas mettre ceci en pratique.

Bonne journée et longue vie à excel pratique.


Bonjour NCC

Tu demandes quelle est la différence entre mes semaines 1 2 etc

Il s'agit des ventes des différentes semaines et je veux pouvoir aller comparer la semaine 40 de 2017 avec son équivalente en 2016.

Mon fichier s'appelle ventes2017 et il avait son équivalent ventes2016 que je consulte de temps à autre.

Voilà voilou.

Merci de vous intéresser à mon sujet.

(re)

SimKmil a écrit :

Merci à tous les deux.une aide tres précieuse et j'avance bien dans mon tableau.Je vais de ce pas mettre ceci en pratique.Bonne journée et longue vie à excel pratique.

tes remerciements sont très agréable à attendre, Merci pour ceux-là !

SimKmil a écrit :

Bonjour NCCTu demandes quelle est la différence entre mes semaines 1 2 etcIl s'agit des ventes des différentes semaines et je veux pouvoir aller comparer la semaine 40 de 2017 avec son équivalente en 2016.Mon fichier s'appelle ventes2017 et il avait son équivalent ventes2016 que je consulte de temps à autre.Voilà voilou.

de ce point de vue là j'avais parfaitement compris

La question était en réalité quelle la différence réelle entre la semaine 1, la semaine 2, la 3, la n... les ventes ne sont pas les mêmes, certes ! mais il y des ventes chaque semaine (du moins je le souhaite)...

Je repose donc la question qu'elle la différence entre...

Ce que je veux dire c'est que tes onglets 1 à 52 ne font que compliquer ton parcours dans les semaines...

Même sur un grand écran je ne suis pas certain que tu puisses visualiser (sur la barre des onglets) toutes les semaines. Tu perd donc du temps à manipuler la souris !

Ce que je veux dire c'est que tes onglets 1 à 52 ne font que compliquer ton problème

Il serait judicieux de faire une feuille unique pour les 52 semaines avec un filtre qui permet de sélectionner (d'un seul clic) la semaine souhaitée

Le fichier gagnerait notablement en volume, en traitement, en problèmes...

Autres avantage... présentées sous forme de tableau tes semaines pourront faire l'objet de statistiques, de comparaisons beaucoup plus facilement qu'avec la structure actuelle... et je suis même persuadé que tu trouveras avec cette structure "organisée" une foule de traitement auxquels tu ne peux pas penser, parce que les informations ne sautent pas aux yeux !


Je termine sur ce propos pour t'encourager à poursuivre...

Excel ne doit pas être utilisé comme un papier/crayon... Lorsque l'on veut simplifier quelque chose il faut le simplifier !

Il faut donc utiliser Excel comme Excel sait le faire !

Bonjour,

Content que l'énigme de la Fonction FeuilPrec() ... ne soit plus que de l'histoire ancienne ...

Merci ... pour tes remerciements ....

Et bien, NCC 1701, tu viens là de me donner une excellente idée à laquelle je n'avais pas pensé du tout.

Je vais de suite me mettre au travail pour créer cette nouvelle et unique feuille en suivant tes conseils.

Et c'est vrai que je pourrais faire des choses avec auxquelles j'avais pensé mais qui me paraissaient trop ardues avec mes 52 feuilles.

je tente l'experience et je reviens vers toi (dans quelques jours) pour t'indiquer si cela fonctionne bien ou pour encore solliciter ton aide.

Encore une fois Merci.

(re)

Ton dernier message va faire pâlir de honte James007

Mais je suis heureux que mes conseils aboutissent à une pensée positive et à des réflexi(cel)ons Excellement correctes !

SimKmil a écrit :

Je vais de suite me mettre au travail pour créer cette nouvelle et unique feuille en suivant tes conseils.

bon courage
SimKmil a écrit :

Et c'est vrai que je pourrais faire des choses avec auxquelles j'avais pensé mais qui me paraissaient trop ardues avec mes 52 feuilles.

quelle belle philosophie,

et tu verras qu'il y a même des choses que tu ne pouvais pas imaginer qui vont sortir toutes seules de tes cellules (les grise et celles avec des formules)

SimKmil a écrit :

je tente l'experience et je reviens vers toi (dans quelques jours) pour t'indiquer si cela fonctionne bien ou pour encore solliciter ton aide.

ne tente pas ! fais-le ou ne le fais pas ! (ce n'est pas de moi, c'est un petit bonhomme vert avec une canne et un sabre laser qui a dit ça... mais c'était un sage)

quant à solliciter mon aide... à la manière dont tu me présente la chose (future) tu n'en auras peut être plus besoin... mais au cas où... n'hésite pas... et même pendant tes réflex(cel)ions au besoin...

Merci à toi pour ce joli fil, (qui servira peut-être d'exemple à d'autres), bon courage et à bientôt !

Bonjour NCC,

en reprenant ton idée, je suis en train de tenter de mettre cela non pas sur papier, mais en Excel.

Je reprends ma feuille (Sem01) dans un nouveau classeur et je la recopie par copier-coller 51 fois l'une en dessous de l'autre .

J'ai donc mes 52 semaines dans une seule feuille.

Comment dois je faire pour ne faire apparaître qu'une seule semaine - celle en cours - devant moi et comment aller chercher une autre semaine pour vérification ?

Merci de ton aide.

Ton dernier message va faire pâlir de honte James007

Détrompe - toi .... !!!

Je suis enchanté de voir les gens progresser ... et comprendre qu'Excel n'est pas un vulgaire carnet de lait ... !!!

Entre nous, si ce n'était pas le cas .... j'aurais fui tous les Forums depuis des lustres ...

Rechercher des sujets similaires à "prendre valeur onglet precedent"