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 :

Interpolation à partir d'une plage de données [XL-2016]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2016
    Messages : 4
    Par défaut Interpolation à partir d'une plage de données
    Bonjour,

    Je me casse la tête depuis quelques heures à chercher un moyen de réaliser une interpolation sur Excel, et la fonction PREVISION ne me satisfait pas. Je m'explique.

    J'ai un tableau de données à double entrée (x, y), dont seuls les x sont en ordre croissant, par exemple:

    x y
    1 3
    2 5
    5 7
    6 8
    8 6
    9 5

    Je souhaite, pour une valeur x quelconque, renvoyer une valeur de y interpolée à partir des valeurs voisines. Dans l'exemple, pour x=1,6 y=4,2, pour x=8,5 , y=5,5. Ceci ne semble pas permis par la fonction PREVISION. L'interpolation doit être réalisée entre deux valeurs uniquement et non pas sur l'ensemble de la plage de données.

    Je ne sais pas si je suis suffisamment clair dans mes explications, mais si quelqu'un a une idée je suis preneur!

    En vous remerciant par avance,

    Nicolas

  2. #2
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    'Soir, Nicolas,

    Dans le fichier en annexe, tu trouveras une idée.

    Tu rentres ta donnée en D2 et le résultat sort en D9

    NB : tu peux faire cette recherche avec ton meilleur ami : 'Linear Interpolation in excel' pour avoir une compréhension de toute la procédure (c'est en anglais et c'est pas trop mon truc).
    Fichiers attachés Fichiers attachés

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2016
    Messages : 4
    Par défaut
    Je te remercie pour ta réponse, effectivement ta proposition renvoie bien le résultat escompté, cependant, je ne suis pas sur que cela suffise pour l'appliquer à mon cas concret. J'ai réalisé un tableau de référence dans lequel est renseigné le volume V en fonction de la hauteur d'eau h du réservoir.

    Dans un autre tableau, où la hauteur d'eau h est une variable fonction d'autres paramètres, je souhaite qu'Excel aille chercher automatiquement la valeur V associée en fonction des données du tableau de référence, et ce par interpolation des valeurs voisines comme précisé précédemment. L'idéal serait donc de tout concaténer dans une seule et unique formule...

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2016
    Messages : 4
    Par défaut
    Re, j'ai finalement résolu mon problème en concaténant bêtement l'ensemble des formules que tu as réalisé!

    Encore merci pour l'aide!

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2016
    Messages : 4
    Par défaut
    Je n'avais pas vu ta réponse Pierre, et je t'en remercie, c'est exactement ce que j'ai fait!

    En tout cas très heureux de votre disponibilité qui m'a bien aidé!

  6. #6
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Sur base du fichier de QuestVBA, je te propose la formule suivante...

    =INDEX(B2:B7;EQUIV(D2;A2:A7;1))+(INDEX(B2:B7;EQUIV(D2;A2:A7;1)+1)-INDEX(B2:B7;EQUIV(D2;A2:A7;1)))*(D2-INDEX(A2:A7;EQUIV(D2;A2:A7;1)))
    Nom : Capture.PNG
Affichages : 66915
Taille : 13,9 Ko

    Technique pour construire ce genre de formule

    Pour interpoler, tu as besoin de l'écart E entre ton x souhaité et le x directement inférieur. Tu as aussi besoin de l'écart V entre la valeur Vi du x inférieur et celle du x supérieur. ta valeur interpolée sera alors égale à Vi+V*E.

    Tu calcules les différentes valeurs dont tu as besoin en les isolant dans des cellules (ici, F2 => F11), puis tu substitues à chaque cellule intermédiaire la formule qu'elle utilise, en remontant. Tu arrives alors à créer ta formule dans une seule cellule...

    Nom : Capture.PNG
Affichages : 63485
Taille : 22,5 Ko
    Fichiers attachés Fichiers attachés
    "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...
    ---------------

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

Discussions similaires

  1. [XL-2013] Selection une plage des données à partir des cellules avec Excel
    Par Muriel_Raziel dans le forum Excel
    Réponses: 11
    Dernier message: 08/03/2017, 12h11
  2. Réponses: 2
    Dernier message: 01/08/2016, 13h20
  3. Réponses: 7
    Dernier message: 24/12/2015, 07h44
  4. [XL-2007] Alimentation de la ComboBox d'un UserForm à partir d'une plage de donnée
    Par Loukassit0 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/02/2012, 18h22
  5. Remplir une plage de données à partir deux données
    Par jacksparot dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/04/2011, 19h11

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