Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[Résolu] Sauvegarder des données type sous EXCEL ou Office tableur


Messages recommandés

Posté(e)

Bonjour,

 

J'aimerai besoin de vos connaissances pour excel. J'aimerai sur excel créé un plan alimentaire précis.

 

Pour cela, je voudrais enregistrer sur une feuille les données types qui serons les calories, proteines, glucides et lipides de plusieurs aliments au 100g ou 100ml.

 

J'aimerai ensuite, sur une autre feuille, écrire mes repas du jour. Mais je voudrais que lorsque j'écris le nom d'un aliment, celui ci le reconnait et met automatiquement les données enregistré dans la premiere feuille pour celui çi, et en mettant une formule, qu'il calcule les calories etc ... par rapport à la quantité mangé.

 

Je sais pas si vous me suivez mais pour moi c'est clair :D

 

J'aimerai le faire par excel car étant sportif de (petit) haut niveau, je fais attention à ce que je mange, et surtout les quantités que je mange sont très grosse, et sur feuille il me faut environ 15mn pour faire ma journée.

 

J'espere que vous pourrez m'aider car j'ai pas réussi. Merci bien

  • Modérateurs
Posté(e)

Bonsoir Jerem,

 

Je crois que la fonction RECHERCHEV d'EXCEL va combler tes désirs. Elle n'est pas intuitive, mais finalement très simple à utiliser, et tellement puissante qu'on ne peut plus s'en passer dès qu'on l'a comprise ! :super:

 

Sur ta première feuille, tu indiques pour chaque aliment,

- en colonne A, son identifiant,

- en colonne B, sa quantité de référence,

- en colonne C, la quantité de calories correspondante,

- en colonne D, la quantité de protéines,

- en colonne E, la quantité de glucides,

- en colonne F, la quantité de lipides.

zzsheet1.jpg

Sur ta seconde feuille, tu choisis le même colonnage, auquel tu ajoutes une colonne G, qui exprimera le rapport entre la quantité consommée et la quantité de référence (respectivement colonnes B de la 2nde et de la 1ère feuilles)… une histoire de règle de trois !

zzsheet2.jpg

Pour chaque ligne de la 2nde feuille, il va falloir trouver automatiquement la ligne correspondante de la 1ère feuille. Et c'est là que va jouer la puissance de RECHERCHEV !

 

Le critère de rapprochement sera le contenu de la cellule A, c'est-à-dire l'identifiant de l'aliment. Les diverses cibles seront les contenus des colonnes B à F.

 

Ainsi, la formule F0 va s'écrire =B2/RECHERCHEV(A2;Feuil1!A:B;2;0)

 

Détaillons d'abord RECHERCHEV,

- le premier argument A2 est l'identifiant de l'aliment de la 2nde feuille à rechercher dans la 1ère feuille,

- le second argument donne la plage de recherche : 1ère feuille, colonnes A à B,

- le 3ème argument est le numéro de la colonne qui contient le résultat recherché, sachant que la 1ère colonne de la plage doit toujours être l'argument de recherche (ici, l'identifiant de l'aliment), et qu'on compte les colonnes à partir de cette 1ère colonne,

- le 4ème argument : mettre 0 (zéro) – je n'ai jamais réussi à savoir de quoi il s'agit…

 

On va donc récupérer, sur la ligne n de la 1ère feuille dont l'identifiant An est égal au A2 de la 2nde feuille, la quantité de référence Bn de cet aliment. On aura alors un rapport B2/Bn caractérisant la quantité consommée.

 

icon13.gif Cette formule va te retourner une erreur si l'identifiant de l'aliment demandé n'est pas reconnu dans la colonne A de la 1ère feuille. Du coup, il peut être bon de la sécuriser.

 

Tu comprendras alors sans peine pourquoi la formule F1 donnant le nombre de calories consommées s'écrit =G2*RECHERCHEV(A2;Feuil1!A:C;3;0),

puis F2 pour les protéines =G2*RECHERCHEV(A2;Feuil1!A:D;4;0), etc.

 

Il te suffira de propager ces formules sur toutes les lignes de ton menu du jour, puis de tirer des totaux de bas de colonnes… Bon appétit :sourire:

 

Nota

  • Dans des exercices plus complexes, la colonne identifiant n'est pas forcément la colonne A, mais c'est à partir de cette colonne identifiant que l'on compte les colonnes pour numéroter la colonne cible, qui doit toujours se situer à sa droite.
  • Il n'est évidemment pas du tout nécessaire que les colonnages des feuilles 1 et 2 soient identiques : il suffit de taper au bon endroit.
  • Tu peux te passer de la colonne G en remplaçant dans toutes les autres formules G2 par F0 mais c'est moins facile à lire. Ex.: F1 = B2 / RECHERCHEV(A2;Feuil1!A:B;2;0) * RECHERCHEV(A2;Feuil1!A:C;3;0)
  • J'ignore si la fonction RECHERCHEV d'EXCEL a un équivalent dans le tableur Office mais le contraire m'étonnerait !
Posté(e)

Merci à toi.

 

J'ai réussi tout fonctionne exepté un truc. J'arrive pas à figer la table de matrice pour la fonction rechercheV

Car quand j'étend la formule aux autres cellules, la table de matrice change et se décale à chaque fois d'une lignes. Et donc ca décale tout.

 

La solution serait de faire une formule pour chaque cellules, mais je vais mettre des jours. Donc j'imagine qu'il y a une solution.

 

Voici un exemple de ma formule

 

=SI(B3>0;(B3*RECHERCHEV(A3;'liste des aliments'!A3:E20;2))/100;"")

 

J'ai rajouté une fonction si pour pas qu'il y ai écrit à chaque fois "#VALEURS"

Ce qui est en gras c'est mon probleme, c'est la table que j'aimerai figer pour toutes mes cellules (tiré de la feuille 'liste des aliments' )

 

J'espere que tu pourra m'aider :)

 

Merci

  • Modérateurs
Posté(e)
=SI(B3>0;(B3*RECHERCHEV(A3;'liste des aliments'!A3:E20;2))/100;"")

Moi, j'écrirais plutôt =SI(B3>0;(B3*RECHERCHEV(A3;'liste des aliments'!A:E;2;0))/100;"")

 

  • Pourquoi délimiter la plage ? Autant prendre les colonnes entières (en n'indiquant pas de numéros de lignes)…
    D'autant plus que, si tu commences en ligne 3 et que justement l'aliment recherché se situe sur la ligne 2 ou la ligne 21, tu ne le trouveras pas !
  • Il vaut mieux indiquer le 4ème argument, même si ça semble marcher sans lui…
  • Je ne comprends pas la division par 100, mais tu dois savoir ce que tu fais ! ;)

Posté(e)

Au final j'ai réussi, j'ai renommé ma plage de cellules puis je l'ai rentré dans la formule, puis je l'ai étendu et tout fonctionne. Me reste plus qu'à le faire au propre.

 

J'ai aussi rajouter un menu déroulnt pour choisir parmi une liste d'aliment. Donc tout est OK. Merci à toi

  • Modérateurs
Posté(e)

Le problème semble avoir trouvé sa solution.

Ainsi, afin de signaler clairement à ceux qui ont un problème similaire qu'ils ont peut-être une solution toute trouvée (s'ils pensent à utiliser la fonction Recherche en indiquant le mot-clé "résolu" auparavant), et afin de signaler aux autres contributeurs qu'il est inutile de continuer à se creuser la tête sur le problème (à moins d'avoir des suppléments d'informations à apporter pour mieux comprendre ce qui posait problème), un modérateur a préfixé le titre du topic avec la mention [résolu].

Merci, à l'avenir, de bien vouloir prendre à votre charge cette mise à jour quand vous estimez que votre problème a été résolu de manière satisfaisante (et parallèlement, si le problème a disparu "mystérieusement", inutile d'induire les gens en erreur ;-)) Pour cela, modifier.gif votre premier message :-)

Posté(e)

J'allais justement le faire.

Sinon la division par 100 est présente car je multiplie par "A3" qui est la quantité d'aliments consommé. Et la formule recherchev donne la quantité de calories aux 100g, de cette maniere quelque soit la quantité consommé, j'aurai les calculs exacts.

 

Par contre, mon plan alimentaire se basant sur une semaine, je vais devoir le réinitialiser toutes les semaines.

Je sais qu'on peut faire F5, cellules, constantes, et supprimer. Mais je devrai le faire pour chaque feuilles de calculs, en plus de selectionner à chaque fois les plages ou je veux que ca fonctionne (avec la touche Ctrl)

 

Y'a t'il un moyen plus rapide ?

 

J'avais penser à nommer les plages que je veux remettre à zero pour aller plus vite, mais il faudrai que je renomme chaque plage de chaque feuille (donc 7 plages différentes)

  • Modérateurs
Posté(e)

Moi, si j'étais toi, je me fabriquerai un classeur vierge de référence, que je sauvegarderais en plus dans un coin sombre, tu verras pourquoi tout-à-l'heure.

 

Chaque dimanche soir, je me ferais une copie du classeur vierge, qui deviendrait le classeur de la semaine suivante, prêt à l'emploi.

 

Et puis, immanquablement, un jour, j'oublierai de prendre une copie du classeur vierge, dont je me servirais directement. Aïe aïe aïe, je serais dans la m… ? Non, grâce à l'autre classeur vierge, caché dans un coin sombre, évidemment ! :lol:

 

Eh eh…

Posté(e)

J'y avais pensai aussi mais je me suis dis qu'on pouvais s'amuser à bidouiller excel :)

Après il faut que je sauvegarde chaque total journalier pour me faire une moyenne sur une semaine, un mois donc faudrai à chaque fois que je fasse copier coller sur le nouveau classeur

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...