> Tous les forums > Forum Bureautique
 Vba Excel (cellule appelle fonction) ??????Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Jumpty
  Posté le 29/12/2011 @ 19:51 
Aller en bas de la page 
Astucien

Hello à vous,

Je pose mon pb dans ce forum ne sachant pas exactement ou le mettre... (langage ou excel ... ???)

-

Voilà mon pb..

j'ai déjà fait des petites choses en vba (procédures et fonction mais je les ai toujours appelées via bouton ou ouverture de feuille..)

Maintenant, j'essaye d'appeler une function créée d'une manière "personnelle" à partir d'une cellule

-

Exemple :

fonction "MonTotal" qui à pour but de faire la somme des cellules d'une région sélectionnée (la même chose que la fonction "Somme" de Excel)

(cela devrait être simple mais je n'y arrive pas ...)

donc je crée ma Function, et je la mets dans un module (module 1) par exemple

Function MonTotal(Region As Range) As Long

Dim Unecase As Range
'UneCase est une cellule
Dim Valeur As Long
Dim Somme As Long

Unecase = 0
Somme = 0

For Each Unecase In Range(Region)
Valeur = Unecase.Value
Somme = Somme + Valeur
Next

MonTotal = Somme
End Function

Je mets dans A1 le Nb 10

Je mets dans A2 le Nb 20

Je mets dans A3 le Nb 10

Je mets dans A4 le Nb 10

Dans A5 je sélectionne Ma Function "MonTotal

=> via le menu de Excel Insertion/Fonction/Personnalisées et ensuite je sélectionne ma fonction "MonTotal"

On me demande de sélectionner ma région, ce que je fais (je selectionne de A1 à A4)

cela devrait me donner la somme...., cad 50

-

Mais ensuite, j'ai toujours le même message #VALEUR!

-

Quoi que je fais pas bien ?

Merci de votre aide

Ps : Bonnes Fêtes à tous



Modifié par Jumpty le 29/12/2011 20:11
Publicité
Mytå
 Posté le 29/12/2011 à 20:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut le forum

Pourquoi Unecase =0 ? ? ?

Function MonTotal(Region As Range) As Long
Dim Unecase As Range
Dim Somme As Long

Somme = 0

For Each Unecase In Region
Somme = Somme + Unecase
Next

MonTotal = Somme

End Function

Mytå



Modifié par Mytå le 29/12/2011 20:12
Jumpty
 Posté le 29/12/2011 à 20:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Mytå a écrit :

Salut le forum

Pourquoi Unecase =0 ? ? ?

Function MonTotal(Region As Range) As Long
Dim Unecase As Range
Dim Somme As Long

Somme = 0

For Each Unecase In Region
Somme = Somme + Unecase
Next

MonTotal = Somme

End Function

Mytå

Mauvaise copie...

je voulais dire Valeur = 0

je viens de tester..

ok.

c'était vraiment simple ...,

Merci.



Modifié par Jumpty le 29/12/2011 20:35
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
(Macro Excel) Sélectionner cellule en fonction de sa couleur
case à cocher dans cellule Excel 2010
EXCEL: Fonction DATEDIF
VBA Excel valeur en fonction de cellules
afficher une cellule en fonction d'une autre cellule
fonction SI avec trois critères - cellule en format [h]mm
Excel 2010 et mode reference d'une cellule
Excel 2007 macro rajouter tri + cellule en surbrillance à chaque changement
incrémenter un N° de cellule à chaque ouverture du fichier Excel
[Excel 2007] Fonction NB.SI - problème
Plus de sujets relatifs à Vba Excel (cellule appelle fonction) ??????
 > Tous les forums > Forum Bureautique