Mettre une fonction dans une macro

Fermé
marie_vba - 31 mars 2011 à 13:41
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 2 avril 2011 à 17:31
Bonjour,

J'ai crée une petite macro sur excel :

J'aimerai un morceau de code qui me permettrai de pouvoir soustraire une celulle de Excel et une variable. Je n'arrive pas à utiliser la fonction "Function". Pouvez-vous m'aider ?

J'ai deux feuilles : la première Facture où s'execute la macro et la deuxième Produits où la soustraction doit avoir lieu.

J'espère que mon message est comprehensible.

Merci à ceux ou celles qui prendront le temps de me répondre =)

Marie

A voir également:

2 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
31 mars 2011 à 13:49
Bonjour,
Une fonction doit être mise dans un module général d'autant plus si elle fait appel à des feuille différentes.
'Exemple dans une cellule..=MonCalcul(A6;Feuil2!C6)
Public Function MonCalcul(Rg1 As Range, Rg2 As Range) As Double
    MonCalcul = Rg1.Value * Rg2.Value
End Function

A+
0
Bonjour,

Désolé, je n'ai strictement rien compris à votre réponse !
Pourriez-vous me re-exliquer très clairement avec un exemple concret si possible !
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
2 avril 2011 à 17:31
Ont va essayer...
Tape Alt+F11
Tu arrive dans l'éditeur de code (ou Macros)
Dans le menu >> Insertions >> Module
Dans la page qui c'est ouverte tu fais un copier coller du code..
Public Function MonCalcul(Rg1 As Range, Rg2 As Range) As Double
    MonCalcul = Rg1.Value - Rg2.Value
End Function

Tu ferme l'éditeur et retourne dans Excel
Supposons que tu est sur la feuille1, dans la cellule où tu veux le résultat tu tape...
=MonCalcul(
Ensuite tu sélectionne la cellule où est le nombre 1, ensuite tu tape un ; (point Virgule) et tu va dans la feuille 2 ou tu sélectionne le nombre 2.
Tu conclu en tapant un ) "parenthèse fermante)
C'est plus clair ?

Mais si c'est aussi simple que ça, faut pas une fonction personnalisée, suffit de taper = et ensuite sélectionner les deux cellules séparées par un - (moins)
A+
0