IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Bloquer recalcul de certaines cellules [XL-2013]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Bloquer recalcul de certaines cellules
    Bonjour,
    J'ai créé un tableau Excel avec des cellules qui utilisent la fonction RECHERCHEV pour calculer automatiquement des montants de factures en fonction du prix des pièces indiqués dans une autre feuille. Tout marche très bien. Mon soucis est le suivant. Comment éviter, si le prix des pièces indiqué en stock vient à changer, que mes cellules contenant les anciens calculs soient modifiés? J'imagine en utilisant des fonctions date, si, .... mais je ne vois pas très bien comment ne pas faire une usine à gaz!
    Je ne suis qu'un "petit bricoleur" en Excel.
    Merci d'avance

    Pour plus de précisions je vous joins un petit extrait de fichier, je précise donc que ce sont les prix de la colonne F de la feuille "Fiche calc" que je ne veux pas voir évoluer si je modifie le prix de référence dans la feuille tarif. Seules les lignes créées à partir de la modification seront concernées par le nouveau prix.
    J'espère être assez clair.
    Merci encore
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 771
    Points : 28 631
    Points
    28 631
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu souhaites figer l'action d'un clacul, il n'y a qu'une possibilité d'après moi. Tu fais un Copier/Collage Spécial-Valeur
    N'ouvrant pas les classeurs mis en téléchargement, je ne sais pas si une autre solution s'impose.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci de m'avoir répondu, mais je cherche plutôt un truc qui comparerait la date de modification du tarif avec la date de création de la ligne de calcul et si la date de la ligne de calcul est= ou > à la date de modification du tarif alors le calcul se fait sinon il ne se fait pas et on garde les anciennes valeurs. Mais je me perds dans la fonction si avec des rechercheV qui sont imbriqués.....
    Quelqu'un sait-il résoudre mon problème?
    merci

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 771
    Points : 28 631
    Points
    28 631
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une fonction ne peut que renvoyer une valeur elle ne peut pas conserver une ancienne valeur même sous condition.
    Comme tu ne donnes pas assez d'explications, je ne peux pas t'aider plus.

    La seule manière de conserver des valeurs différentes suivant une date c'est avoir un tableau avec par exemple deux colonnes dont la première contiendra les dates où une valeur a changé et la seconde colonne contenant cette valeur.

    Voici un exemple simple tiré d'un des exercice que je donne aux participants à mes formations
    Dans la feuille [Facture], nous devons chercher le tarif applicable à la date où a eu lieu une prestation
    La feuille nommée [Param] contient un tableau nommé T_GrilleTarifaire qui contient en colonne A, la date où le tarif change, et la colonne B le tarif à cette date

    Nom : 181208 - VLookUp - Match.png
Affichages : 182
Taille : 47,9 Ko

    la formule qui se trouve en colonne D de la feuille nommée [Facture]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV([@DATE];T_GrilleTarifaire;2;VRAI)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Suis désolé mais je crains que mes explications ne soient claires que pour moi. Je m'en excuse auprès de ceux qui auront la patience de lire ma demande.
    Afin de tenter d'être plus précis je mets en pièces jointe les captures d'écran de mon fichier.
    Sur la capture de la fenêtre Fiche calc on voit en colonne A la date de création de la facture, en colonne D le produit à facturer, en colonne F le tarif de base du produit. La colonne F contient la formule suivante =SIERREUR(RECHERCHEV(D3;tarifs!A:B;2;FAUX);"")
    Sur la capture de la fenêtre Tarifs on voit 4 colonnes, la A contient la désignation du produit, la B contient le tarif, la C un paramètre de calcul, la D contient la date de modification du tarif.

    Mon souhait: que ma formule en colonne F de la "fiche calc" ne n'effectue son calcul que si la date de la colonne A de "fiche calc" est égale ou > à la date du même produit de "Tarifs".
    Est ce réalisable? ..... et plus clair?
    Nom : Fiche Calc.JPG
Affichages : 482
Taille : 83,0 KoNom : Tarifs.JPG
Affichages : 437
Taille : 48,1 Ko

  6. #6
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    C'est à dire que tu voudrais que les factures du 3 et du 7 décembre ne soient pas calculées ?

    Si tu veux qu'elles continuent à être calculées, il faut, comme te l'a présenté Philippe, disposer du tarif à cette période, c'est à dire que dans ta feuille Tarifs tu dois conserver les anciens tarifs, et simplement ajouter une nouvelle ligne pour le nouveau tarif
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 771
    Points : 28 631
    Points
    28 631
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Mon souhait: que ma formule en colonne F de la "fiche calc" ne n'effectue son calcul que si la date de la colonne A de "fiche calc" est égale ou > à la date du même produit de "Tarifs".
    Est ce réalisable? ..... et plus clair?
    J'allais envoyer ma réponse lorsque j'ai vu que Patrice avait déjà répondu et ma réponse était pratiquement semblable à la sienne soit la fonction renverra une valeur nulle si la date en colonne A est inférieure à la date contenue en colonne D de la feuille Tarif soit tu dois construire une table avec la date de modification des prix.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci de vos réponses qui malheureusement ne me donnent pas satisfaction car si je comprends bien, il n'y a aucun moyen pour que les valeurs retournées dans les cellules F des lignes créées antérieurement à la date de modification des tarifs, ne soient pas modifiées. Dommage.
    Encore merci à vous de vous être penché sur mon problème.

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Comme l'a précisé Philippe, il n'y a pas moyen de demander que certaines cellules ne soient pas recalculées. La solution passe par de la conception.
    Je n'ai pas testé la solution de Philippe mais j'imagine bien qu'elle fonctionne. Une façon de travailler que j'utilise dans ce cas est d'utiliser INDEX-EQUIV en matricielle, comme dans l'exemple illustré ci-dessous. Dès lors, les factures sont bien calculées avec les tarifs en vigueur à la date de la facture.

    Nom : 20181210_01.png
Affichages : 435
Taille : 23,3 Ko

    Si ma solution ou celle de Philippe ne correspondent pas à ton besoin, c'est qu'il est mal exprimé...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci à toi,
    Je vais essayer de mettre tout cela en musique. Je vois qu'il m'est indispensable de conserver dans un tableau l'évolution des tarifs en fonction des dates. Je découvre les fonctions INDEX-EQUIV en matricielle. Je pense m'en sortir avec un peu de réflexion.
    Merci infiniment à toi Pierre et à toi Philippe.
    Vous êtes des champions!
    Chapeau bas!

    Jean-Luc

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo