Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 27/12/2001, 14h52   #1 (permalink)
Hichem
Guest
 
Messages: n/a
Par défaut Localiser les param d'une fonction

<HTML>Bonjour,

Je vous présente mon problème:
J'ai un add-in qui contient un certain nombre de fonctions. Je veux déterminer la position d'un paramètre donné dans la liste des paramètres d'une fonction.
Exemple : Supposons qu'on a les fonctions suivantes:
-LibélléCompte(Compte) as String : fonction qui retourne le libellé d'un compte à partir du n° du compte,
-SoldeCompte(DateSolde,Compte) as double: fonction qui retourne le solde d'un compte à une date donnée.
La fonction à développer doit :
1-chercher les cellules qui contiennent un appel à l'une de ces deux fonctions,
2- Selon la fonction et selon la position du paramètre "compte", remplacer le contenu de la cellule passée en paramètre(qui présente le compte en question) par un nouveau numéro.
Donc, dans le cas suivant : $B$1=SoldeCompte($A$1,$A$2), la fonction cherche la position du paramètre compte(2ème param pour cette fonction), prend le contenu de $A$2 et le remplace par le nouveau n° de compte.
Par conséquent, $B$1 contiendra un nouveau résultat.
Merci d'avance.
J'espère que qcq pourra m'aider.</HTML>
 
Vieux 28/12/2001, 12h06   #2 (permalink)
Stéphane
Guest
 
Messages: n/a
Par défaut Re: Localiser les param d'une fonction

<HTML>Bonjour,

voici une solution très très bâtarde je trouve.
à retenir surtout : la boucle sur les cellules contenant les formules

attention, j'ai mis aucune gestion d'erreur là-dedans, et cela suppose que les formules sur la feuille de calcul contiennent uniquement un numéro, ce numéro ne doit pas être donné par un calcul ou une autre référence.

pour envisager de pouvoir remplacer une référence, il faudrait des variables string au lieu des variables integer


Function test(anccompte As Integer, nvcompte As Integer)
For Each cl In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
If InStr(1, cl.Formula, "LibélléCompte") > 0 Then cl.Replace What:=anccompte, Replacement:=nvcompte ', SearchOrder:=xlByColumns, MatchCase:=True
If InStr(1, cl.Formula, "SoldeCompte") > 0 Then cl.Replace What:="," & anccompte & ")", Replacement:="," & nvcompte & ")" ', SearchOrder:=xlByColumns, MatchCase:=True


Next cl
ActiveSheet.Calculate
End Function


Sub kkk()
t = test(1, 5)

End Sub


pardonnez moi si vous trouvez ça trop bâtard

bye
stephane</HTML>
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 21h16.


(C) 2006 Excel Downloads