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

Macros et VBA Excel Discussion :

Créer une fonction pour interpoler une série [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut Créer une fonction pour interpoler une série
    Bonjour,

    Je veux remplir des valeurs manquantes dans une colonne par interpolation: prendre l'écart entre la dernière valeur avant le "trou" et la première valeur après le "trou", et répartir la progression dans les cellules du "trou".
    Avec une formule, je fais cela comme ceci:
    =(D$17-D$11)/(1+5)+D11
    Et ce, pour chacune des cellules du "trou".

    Exemple:
    Interpoler(D$17, D$11, 5)

    Résultat:
    05/12/2017 1188,36 64,18
    06/12/2017 1252,54 13,41
    07/12/2017 1265,95 13,41
    08/12/2017 1279,36 13,41
    09/12/2017 1292,77 13,41
    10/12/2017 1306,18 13,41
    11/12/2017 1319,59 13,41
    12/12/2017 1333,00 17,68
    13/12/2017 1350,68 94,13

    Les cellules interpolées sont en italique
    La 3ème colonne ne sert qu'à verifier que le calcul est bon: l'accroissement est constant.
    (1+5) donne le nombre de cellules à remplir (auquel il faut ajouter 1).
    Notez que pour chacune des cellules du "trou", la dernière valeur avant le "trou" (cellule_de_depart) est toujours la même. Idem pour la première valeur après le "trou" (cellule_de_fin), d'où le $.

    Je voudrais faire une function avec des paramètres, plutôt que de copier la formule:
    Interpoler=(cellule_de_depart, cellule_de_fin, nombre_de_cellules).


    J'ai besoin d'aide pour faire cela avec une function en VBA, en particulier pour les références des cellules (cellule_de_depart et cellule_de_fin).

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, commence par lire et pratiquer : Les fonctions personnelles dans Excel

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut, commence par lire et pratiquer : Les fonctions personnelles dans Excel
    Réponse de prof ... (sans cynisme).
    Si je viens sur un forum, c'est parce que j'ai un besoin ponctuel et pas le temps ni l'utilité de me former à l'entièreté de la programmation VBA pour Excel.
    C'est l'efficacité qui prime.

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Un prof doit connaître les règles et les lire (et les comprendre un faisant les changements qui s'imposent.)

    Et puis un prof devrait savoir que pour interpoler, le plus simple c'est encore de connaître l'équation de la courbe.

    Et puis, ce n'est pas en exigeant que des bénévoles fassent ton travail à ta place et te fournissent gratuitement un code clef-en-main que tu vas te faire des amis ici.

    Et puis, tu vas faire quoi si tu te trouves un esclave pour faire ton travail à ta place et qu'il n'est pas capable de te fournir les valeurs interpolées que tu veux avoir ?

    Tu vas peut-être trouver des trucs par là, c'est un classique.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    et pas le temps ni l'utilité de me former.
    tu as dans ce cas celui (le temps) de solliciter un prestataire de services, hein ...
    Ici : on bosse et on prend le temps de se former ou on choisit l'efficacité : rémunérer quelqu'un qui, lui, a pris le temps de se former et bosse.
    Ce n'est ici pas un magasin, mais un atelier.

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour Jacques

    Au cas où tu n'aurais pas vu celui-là.

    L'année commence mal.

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

Discussions similaires

  1. Créer une fonction pour le max de jours d'un mois..
    Par kim mading dans le forum WinDev
    Réponses: 4
    Dernier message: 05/10/2012, 13h51
  2. [Free Pascal] Une fonction pour calculer la variance
    Par eldoir dans le forum Free Pascal
    Réponses: 0
    Dernier message: 10/11/2011, 20h39
  3. Créer une fonction pour remplacer des caractères
    Par virtuadrack dans le forum C++
    Réponses: 4
    Dernier message: 11/09/2008, 14h52
  4. Créer une fonction pour un update avec phppgadmin
    Par Peewee766 dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 19/06/2008, 11h56
  5. Existe-t-il une fonction pour calculer le kurtosis
    Par bichou dans le forum MATLAB
    Réponses: 1
    Dernier message: 19/06/2007, 17h01

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