Calcul Excel et fonction VBA personnalisée [Résolu]

spawn86 3 Messages postés vendredi 10 juin 2016Date d'inscription 14 juin 2016 Dernière intervention - 13 juin 2016 à 15:19 - Dernière réponse : spawn86 3 Messages postés vendredi 10 juin 2016Date d'inscription 14 juin 2016 Dernière intervention
- 14 juin 2016 à 08:43
VBA Office (Excel, Word ...) Posez votre question Signaler Répondre au sujet
Bonjour,
nouvel inscrit sur ce site, je me permet de me tourner vers vous, afin d'obtenir votre aide si cela vous est possible.

CONTEXTE:
Apprenti informaticien, j'ai pour objectif de créer une Base de Données sur FileMaker pour une entreprise qui procède à des tests.
Mon objectif actuellement, est de pouvoir comprendre et reproduire (dans FileMaker) un calcul excel utilisant une fonction personnalisée VBA.
Ceci dit, les langages de programmations n'étant pas encore une seconde nature pour moi, j'ai encore un peu de peine à saisir la fonctionnalité et finalité de ce calcul.

Si vous pouviez m'éclairer (avec des mots pour débutant..^^) sur les différentes étapes qui s'effectuent ainsi que sur leurs logiques, vous auriez mon éternel respect et remerciement.

CALCUL EXCEL:

L'encadré rouge à été rajouté par mes soins pour vous, afin de vous montrer les différentes variantes de calculs existantes.

FONCTION VBA:



Une fois encore, merci infiniment pour tous ceux qui pourront m'apporter leur aide.

Cordialement, spawn86.

PS: ce calcul est un véritable cauchemars, t'en il transforme votre ordinateur en authentique brouette.

PS2: Je tiens juste à être clair sur un petit point, je ne demande pas que vous me fassiez le calcul FileMaker à ma place, ce sera ici mon prochain défis.
Il s'agit ici juste pour moi de pouvoir comprendre ce maudit calcul..;)
Afficher la suite 

4 réponses

Répondre au sujet
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 13 juin 2016 à 16:03
0
Utile
Bonjour,
La seuele fonction personnalisée que tu montres ici est la fonction Paratest_match, qui est assez mal conçue et reçoit 3 paramètres :

-Search : un double dont on ignore le contenu. S'il s'agit (par exemple) du contenu de la cellule F7, celui qui a écrit cette fonction est un lui-même un apprenti !
- Values : une plage de cellules
- nth : un integer (1 ou 2 dans tes exemples) dont on se sait à quoi il correspond

Cette fonction cherche dans la plage values des cellules répondant à des conditions et les réunit dans une plage de données qu'elle retourne (elle est typée en range).

1) Elle est construite comme un saucisson mal ficelé
2) Elle utilise des objets range de Excel et je vois mal comment tu pourrais en utiliser avec une autre application, sauf, si base de données, en la remplaçant par des requêtes et en utilisant le jeu d'enregistrements en résultant.
Désolé, mais impossible d'aller plus loin sans connaître tous les tenants et aboutissants.
La société qui te demande de prendre cela en charge est celle qui doit te donner le cahier des spécifications techniques de cette appli. S'il n'existe pas, interroge l'auteur de cette appli.
Commenter la réponse de ucfoutu
spawn86 3 Messages postés vendredi 10 juin 2016Date d'inscription 14 juin 2016 Dernière intervention - 13 juin 2016 à 17:20
0
Utile
Bonjour ucfoutu,
merci de ton commentaire.

J'ai bien quelque notion de C# et de java, donc les boucles, tests conditionnelles et autres variables tableau me parle, mais pour cette VBA, je n'arrive même pas à cerner la condition de sorti de boucle.

Pour de ce qui est de celui qui à codé cette fonction, j'ignore sont niveau, mais si je retiens bien ce qu'on nous rabâche au cours,
(si les commentaire ne vous permette pas de comprendre le fonctionnement du code, effacez tous et recommencez) je comprend mieux ici la raison.

Sinon, même la personne dans l'entreprise, qui utilise cette feuille de calcul, ignore tout de son fonctionnement.
Ce sont des calculs, basés sur des normes ISO, qu'un Docteur en science physique à lui même mis en place.

Le 1er et 3eme paramètres, sont des valeurs entrée en dur dans excel, dont tout le monde ignore leurs raison d'être.
Quel variables et utilisées, ou et comment??
Et cette fameuse variable range, renvoie t'elle un tableau 1D, ou une simple liste de valeur en String??

Si tu as ce ne soit qu'une brindille de piste, qui puisse me permettre d'obtenir le déclic, je t'en serais vraiment reconnaissant.
Sinon, merci tout de même de t'être attardé sur mon problème.
Commenter la réponse de spawn86
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - Modifié par ucfoutu le 13/06/2016 à 17:39
0
Utile
1
Et cette fameuse variable range, renvoie t'elle un tableau 1D, ou une simple liste de valeur en String??

Je suppose que par variable, tu veux parler de celle que retourne la fonction en cause.
Comme je te l'ai dit plus haut, elle est typée en Range et retourne donc un objet. Et l'objet qu'elle retourne est un objet Range, donc une plage de cellules de la feuille Excel active

Sinon, même la personne dans l'entreprise, qui utilise cette feuille de calcul, ignore tout de son fonctionnement


Rien de plus normal. L'utilisateur n'a pas à connaître le fonctionnement d'une application. Son rôle est de l'utiliser, pas d'en connaître les "dessous".
Si le cahier des spécifications techniques n'existe pas, je te conseille de repartir à zéro ... mais sur la base (au moins) du cahier des charges (et donc de la définition précise des besoins, des tenants et des aboutissants).

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
spawn86 3 Messages postés vendredi 10 juin 2016Date d'inscription 14 juin 2016 Dernière intervention - 14 juin 2016 à 08:43
Merci pour tes recommandations ucfoutu.
Je suis navré de ne pas pouvoir te donner plus d'infos utile sur ce problème (secret professionnel oblige).

Encore une fois, merci de t'être penché sur mon problème, et je te souhaite une excellente continuation.
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.