Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Identifier numéro colonne pour function

erics83

XLDnaute Impliqué
Bonjour,

Je pense que c'est très simple, mais....je n'arrive pas à trouver.... :
J'ai une fonction qui multiplie des valeurs : j'ai fait (je mets aussi le classeur en PJ) :
VB:
Function essai(Valeur_Cherchee1 As Integer, Valeur_Cherchee2 As Integer)

Dim Trouve1 As Range
Dim Trouve2 As Range
Dim PlageDeRecherche As Range

'Dim Valeur_Cherchee1 As Integer
'Dim Valeur_Cherchee2 As Integer
Dim AdresseTrouvee1 As String
Dim AdresseTrouvee2 As String
Dim col As Integer


Set PlageDeRecherche = Feuil1.Range("B4:B19")
'*******************************

Set Trouve1 = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee1, Lookat:=xlWhole)
Set Trouve2 = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee2, Lookat:=xlWhole)

If Not Trouve1 Then AdresseTrouvee1 = Trouve1.Offset(0, 2) 'valeur à multiplier dans la colonne 4 : là où se trouve la valeur recherchée (dans la colonne B) et trouve la valeur (colonne D), soit 2 par rapport à Offset
If Not Trouve2 Then AdresseTrouvee2 = Trouve2.Offset(0, 2)


nb = AdresseTrouvee1 * AdresseTrouvee2

essai = nb
'vidage des variables
Set PlageDeRecherche = Nothing
Set Trouve1 = Nothing
Set Trouve2 = Nothing

End Function
, tout fonctionne bien, mais je souhaite que cette fonction s'adapte à la colonne sélectionnée où elle se trouve (ici colonne 4), mais cela ne fonctionne pas....
J'ai essayé
Code:
If Not Trouve1 Then AdresseTrouvee1 = Trouve1.Offset(0, columns())
mais ça ne marche pas....

Merci pour votre aide,
 

Pièces jointes

  • testfunction.xlsm
    22.9 KB · Affichages: 8

erics83

XLDnaute Impliqué
Top !! merci M12 ,

Juste une dernière petite question : comment faire pour avoir une mise à jour "automatique" exemple, si en E18, je mets une autre valeur (exemple : 9), il faut que je "revalide" la fonction pour que le résultat se mette à jour...il n'est pas possible que cela se fasse "automatiquement" ? : je mets 9 en E18 et automatiquement E22 affiche 45 ?

En vous remerciant,
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Erics,
Je suppose que vous parlez d'une fonction VBA.
Dans ce cas commencez la fonction par Application.Volatile. Celle ci sera recalculée à chaque fois qu'XL remet à jour la feuille.
Si c'est une simple fonction XL alors peut être êtes vous en calcul manuel.
 

erics83

XLDnaute Impliqué
Top !!

Merci sylvanu, j'avais vu application.volatile, mais....soit je l'avais mal positionnée dans mon code, soit mal ecrite, soit....en tout cas, cela ne fonctionnait pas...

Merci M12, pour ton aide....je pense que peut-être il fallait enregistrer/fermer/re-ouvrir le fichier pour que cela fonctionne...ou j'avais fait une autre erreur...merci pour ton fichier qui fonctionne parfaitement !!!

Merci pour votre aide,
A+
 

Discussions similaires

Réponses
2
Affichages
155
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…