toufmaster44
Messages postés5Date d'inscriptionjeudi 5 juillet 2007StatutMembreDernière intervention 6 juillet 2007
-
5 juil. 2007 à 16:20
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 2011
-
6 juil. 2007 à 14:37
Bonjour à tous,
et merci d'avance à celui qui prendra le temps de me répondre. Je suis débutant en VBA, mais j'en ai besoin pour finir de faire un grille sur excel.
J'ai besoin d'une fonction, que j'entre dans une cellule d'une feuille, et qui en entré possède 3 arguments. Cette fonction va chercher dans une autre feuille de mon classeur (Durée_vie_lampes) la valeur d'une cellule d'un tableau dont le tite de la colonne est lampe et le titre de la ligne est ballastCycle. Elle doit me sortir une chaine de caractere. Et la ba rien...
Voici mon code... si quelqu'un identifie les problèmes... je deviens fou la...
"Function RechercheDureeVie(lampe As String, ballast As String, cycle As String) As String
Dim numColonne As Integer
Dim numLigne As Integer
Dim ballastCycle As String
'concatener ballast et cycle
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 6 juil. 2007 à 14:37
Remplace Function par Sub
Pour passer les paramètres, il te suffit d'affecter à tes variables les données contenues dans les cellules concernées puis de définir la recherche soit en utilisant Find ou en parcourant tes données dans une boucle jusqu'à ce qu'elle soit trouvée
Dans les 2 cas il ne faut pas oublier de gérer l'erreur dans le cas ou la donnée n'a pas été trouvée
Bon courage, bonne journée et Bon week-end
JML
Partageons notre savoir et nos acquis
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 5 juil. 2007 à 16:57
Avant d'aller plus loin
Worksheet est une feuille donc pas d'extension
<strike>Worksheets("Durée_vie_lampes.xls")
</strike>Worksheets("Durée_vie_lampes").
JML
Partageons notre savoir et nos acquis
toufmaster44
Messages postés5Date d'inscriptionjeudi 5 juillet 2007StatutMembreDernière intervention 6 juillet 2007 5 juil. 2007 à 17:08
Merci JML. Mais apriori ca ne change pas l'erreur. Quand je rentre ma formule (à l'aide de formule>personalisé) et que ensuite je click dans les cellules ou se trouve mes paramètres, j'obtiens l'erreur #VALEUR. Je comprends vraiment pas pourquoi. Le seule doute c'est que: est ce que quand on ecrit dans une cellule A1 (chaine de caractères), par exemple, et qu'on fait fct(A1) est ce que la fonction voit A1 comme une chaine de caractère.
titi
Vous n’avez pas trouvé la réponse que vous recherchez ?
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 5 juil. 2007 à 17:39
En fait il y a quelque chose qui me gène depuis le début
Tu ne peux pas avoir une fonction qui fait des sélections de feuilkle ; des recherches
Fait un Sub que tu appelleras par un bouton d"exécution il me semble que ce sera plus efficace
Bonne soirée
JML
Partageons notre savoir et nos acquis
toufmaster44
Messages postés5Date d'inscriptionjeudi 5 juillet 2007StatutMembreDernière intervention 6 juillet 2007 6 juil. 2007 à 11:38
Ok merci beaucoup.Mais j'ai un problème de connaissance sur la chose. Comment je fais pour que la transformer en Sub. Car je sais ce qu'est une sub, je sais lier cela à button (commandbutton) mais comment je lui dis où sont les arguments? Je suis obligé de les mettre à une place bien définie dans ma feuille excel, puis de prendre leur valeur dans la procedure?
Désolé de poser autant de questions