créer fonction math

flamel

XLDnaute Nouveau
Bonjour,

Peut-on écrire dans une cellule une fonction ou une équation algébrique qui puisse être reprise par VBA pour l'utiliser ?
Ce serait comme l'inverse de 'Formula' qui permet à VBA d'écrire une fonction dans une cellule.

Merci si vous avez une idée.
 

Fred0o

XLDnaute Barbatruc
Re : créer fonction math

Bonjour flamel,

Avec VBA, on peut faire énormément de choses, y compris tout et n'importe quoi.

La réponse à ta question est OUI, on peut faire ce que tu demandes, tout dépend de ce que l'on va programmer dans VBA.

Pour une réponse plus précise, donnes-nous un exemple d'une formule que tu souhaites taper dans la cellule et du résultat que tu attend. Où, sous quelle forme, etc.

A+
 

flamel

XLDnaute Nouveau
Re : créer fonction math

Bonjour Freddo,
Merci d'avoir répondu.
Je souhaite pouvoir modifier une palette de couleurs en utilisant des formules algébriques pour agir sur les codes R,G,B des couleurs.
Actuellement je le fais avec des équations qui sont dans les routines et non accessibles directement depuis Excel.
Je voudrais que l'on puisse, depuis une page Excel, écrire une équation ou une fonction que la routine reprendrait.
Pour la même raison, si l'on met les valeurs de la palette-couleurs dans un graphique, j'aurais souhaité pouvoir modifier la courbe de ce graphique sur la page Excvel depuis la souris. Or cette possibilité semble supprimée depuis Excel 2010. A moins qu'une routine le permette, ce que je ne trouve pas.
Merci de bien vouloir m'aider.
Cordialement.
 

Fred0o

XLDnaute Barbatruc
Re : créer fonction math

Bonsoir flamel,

Voici un premier essai avec ce que j'ai compris de ton besoin.

Pour tester, mets toi sur une formule et cliques sur le bouton. Une boîte de dialogue te donneras le résultat. J'ai pris arbitrairement y=3 et k=4. Testes ma proposition, essaie de l'adapter et si tu as besoin d'apporter des modifications, dis-moi ce qu'il faut revoir.

A+
 

Pièces jointes

  • flamel_v1.xls
    30.5 KB · Affichages: 174

flamel

XLDnaute Nouveau
Re : créer fonction math

Bonsoir FredDo et merci.

Je viens d'essayer la routine que tu me proposes. Elle est formidable, astucieuse et élégante. Tu es très fort.
Je vais l'adapter et elle m'ouvre beaucoup de possibilités.
Aurais-tu une idée pour mon problème de courbe de graphique ?
Je te remercie très sincèrement et cordialement.
 
Dernière édition:

flamel

XLDnaute Nouveau
Re : créer fonction math

Re-Bonjour FredOo,

Je reviens vers toi.
Avec integer, ça marche très bien.
Mais comment faire pour utiliser des variables de type double ?
Est-ce possible, car il y a changement de type ?
Merci pour ton aide.
 

Fred0o

XLDnaute Barbatruc
Re : créer fonction math

Bonjour flamel,

Tu peux soit déclarer des variables de type double :
VB:
Public x as Double, y as Double, k as Double, Formule As String

soit les déclarer de type variant (ou sans type) :
VB:
Public x, y, k, Formule As String

ou encore utiliser la fonction CDbl qui convertit un nombre en double en le stockant dans une variable de type double : [hi
VB:
VarDbl = CDbl(x)

A+
 

flamel

XLDnaute Nouveau
Re : créer fonction math

Bonjour FredOo,

Ça ne marche pas.
Voici mon code :
[QUOTE
Option Explicit
Public x As Double, y As Double, k As Double, Formule As Variant

Sub couleur()
y = Sheets("Feuil1").Range("B1").Value ' valeur entrée: 1
k = Sheets("Feuil1").Range("C1").Value ' valeur entrée: 1.5, avec un entier ça va
Formule = ActiveCell.Formula
Formule = Replace(Formule, "y", y)
Formule = Replace(Formule, "k", k)
x = Evaluate(Formule)
MsgBox "Formule = " & Formule
Sheets("Feuil1").Range("D1").Value = x ' affiche le résultat
MsgBox ("Formule " & Formule & ", x = " & x)
End Sub
][/QUOTE]

Donne : 'Incompatibilté de type' pour x = ...

A+
 

Dranreb

XLDnaute Barbatruc
Re : créer fonction math

Bonjour.

Compte tenu du sujet de vos besoins je pense que ces quelques modules peuvent vous intéresser :
CouleursCalculs : Conversions entre quatre représentations possibles de couleurs :
1) - Composantes RVB
2) - Énergies RVB linéaires
3) - Énergie globale pondérée, Angle et Force
4) - Énergie globale pondérée, Chaleur et Gaieté

CouleurFctFc: Interface pour utilisation en formules Excel
FaciliteurExcelVBA: Échanges de tableaux, restitution en formules matricielles

Dites moi ce que vous en pensez, cela me fera plaisir.
Cordialement.
 

Pièces jointes

  • CouleursCalculs.zip
    14.7 KB · Affichages: 54

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 942
Membres
103 989
dernier inscrit
jralonso