Je souhaiterais approfondir mes connaissances sur les
fonctions. Je voudrais savoir si je peux trouver le d=E9tail
(en Visual Basic pour Aplication) de toutes les fonctions
standard Excel (somme, nb, droite,...)
Par exemple, je voulais faire un "somme.si" perso, mais je
n'ai pas r=E9ussi a parametrer les r=E9ponses type ">", "<".
Donc, si les codes existent sur un site, ou ailleurs,
pouvez-vous me donner des indications.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Modeste
Bonsour ® Rémi, une seule adresse : http://www.excelabo.net notament un classeur de vincent Isoz http://www.excelabo.net/moteurs/compteclic.php?nom=vi- fonctionsxl
@+
-----Message d'origine----- Bonjour à tous,
Je souhaiterais approfondir mes connaissances sur les fonctions. Je voudrais savoir si je peux trouver le détail
(en Visual Basic pour Aplication) de toutes les fonctions standard Excel (somme, nb, droite,...)
Par exemple, je voulais faire un "somme.si" perso, mais je
n'ai pas réussi a parametrer les réponses type ">", "<".
Donc, si les codes existent sur un site, ou ailleurs, pouvez-vous me donner des indications.
Merci d'avance. Rémi.
.
Bonsour ® Rémi,
une seule adresse :
http://www.excelabo.net
notament un classeur de vincent Isoz
http://www.excelabo.net/moteurs/compteclic.php?nom=vi-
fonctionsxl
@+
-----Message d'origine-----
Bonjour à tous,
Je souhaiterais approfondir mes connaissances sur les
fonctions. Je voudrais savoir si je peux trouver le
détail
(en Visual Basic pour Aplication) de toutes les fonctions
standard Excel (somme, nb, droite,...)
Par exemple, je voulais faire un "somme.si" perso, mais
je
n'ai pas réussi a parametrer les réponses type ">", "<".
Donc, si les codes existent sur un site, ou ailleurs,
pouvez-vous me donner des indications.
Bonsour ® Rémi, une seule adresse : http://www.excelabo.net notament un classeur de vincent Isoz http://www.excelabo.net/moteurs/compteclic.php?nom=vi- fonctionsxl
@+
-----Message d'origine----- Bonjour à tous,
Je souhaiterais approfondir mes connaissances sur les fonctions. Je voudrais savoir si je peux trouver le détail
(en Visual Basic pour Aplication) de toutes les fonctions standard Excel (somme, nb, droite,...)
Par exemple, je voulais faire un "somme.si" perso, mais je
n'ai pas réussi a parametrer les réponses type ">", "<".
Donc, si les codes existent sur un site, ou ailleurs, pouvez-vous me donner des indications.
Merci d'avance. Rémi.
.
Rémi
Salut Modeste, merci pour la réponse. Seulement, peut être ais-je mal formulé ma question ;-) Je ne souhaite pas savoir comment utiliser une fonction, mais savoir comment est-elle écrite en VBA !
Toutefois, le lien que tu m'as donné est excellent, et je le regarderais avec un peu plus d'attention. Je connaissais le site (qui ne connait pas le site de Disciplus.simplex ???) qui est le meilleur !!! mais je n'avais pas vu ce fichier sur les fonctions.
Pour en revenir à mon problème, je met le code de ma fonction, comme ça, s'il y a quelqu'un qui sait gérer les ">" et les "<" peut me donner un tuyau. Cette fonction sert a faire la somme sur une feuille synthese, de toutes les feuilles de la cellule voulu si la cellule est = a un critère.
Esemple sommetout_si(A1,100,A2) Immaginons que nous avons 3 feuilles et que nous mettons la fonction dans la feuille 3, la fonction fait la somme des cellules A2 si dans la cellule A1 la valeur est = 100.
Ok cela marche, mais comment faire A1 : =sommetout_si(A1,>100,A2) = 700 ?
Totutefois si quelqu'un sait ou trouver les fonctions en code, il serait mon heros du jour :-)
Public Function sommetout_si(ByVal rng1 As Excel.range, condizione, ByVal rng As Excel.range) On Error GoTo ErrorHandler Dim objXlRng As Excel.range Dim strWshName As String Dim objXlWbk As Excel.Workbook Dim objXlWsh As Excel.Worksheet Dim vntRet As Variant strRngAddress = rng.Address strRngadress2 = rng1.Address With Application .Volatile True Set objXlRng = .Caller End With With objXlRng With .Worksheet strWshName = .Name Set objXlWbk = .Parent End With End With For Each objXlWsh In objXlWbk.Worksheets If (objXlWsh.Name <> strWshName) Then prova = objXlWsh.range(strRngadress2).Value If prova = condizione Then vntRet = vntRet + CDbl(objXlWsh.range(strRngAddress).Value) End If End If Next ExitProcedure: sommetout_si = vntRet Set objXlRng = Nothing Set objXlWsh = Nothing Set objXlWbk = Nothing Exit Function
ErrorHandler: vntRet = CVErr(Err.Number) Resume ExitProcedure 'End If End Function
"Modeste" a écrit dans le message de news:67bc01c4cbd4$fad8e440$ Bonsour ® Rémi, une seule adresse : http://www.excelabo.net notament un classeur de vincent Isoz http://www.excelabo.net/moteurs/compteclic.php?nom=vi- fonctionsxl
@+
Salut Modeste, merci pour la réponse.
Seulement, peut être ais-je mal formulé ma question ;-)
Je ne souhaite pas savoir comment utiliser une fonction, mais savoir comment
est-elle écrite en VBA !
Toutefois, le lien que tu m'as donné est excellent, et je le regarderais
avec un peu plus d'attention.
Je connaissais le site (qui ne connait pas le site de Disciplus.simplex
???) qui est le meilleur !!! mais je n'avais pas vu ce fichier sur les
fonctions.
Pour en revenir à mon problème, je met le code de ma fonction, comme ça,
s'il y a quelqu'un qui sait gérer les ">" et les "<" peut me donner un
tuyau.
Cette fonction sert a faire la somme sur une feuille synthese, de toutes les
feuilles de la cellule voulu si la cellule est = a un critère.
Esemple sommetout_si(A1,100,A2)
Immaginons que nous avons 3 feuilles et que nous mettons la fonction dans la
feuille 3, la fonction fait la somme des cellules A2 si dans la cellule A1
la valeur est = 100.
Ok cela marche, mais comment faire A1 : =sommetout_si(A1,>100,A2) = 700 ?
Totutefois si quelqu'un sait ou trouver les fonctions en code, il serait mon
heros du jour :-)
Public Function sommetout_si(ByVal rng1 As Excel.range, condizione, ByVal
rng As Excel.range)
On Error GoTo ErrorHandler
Dim objXlRng As Excel.range
Dim strWshName As String
Dim objXlWbk As Excel.Workbook
Dim objXlWsh As Excel.Worksheet
Dim vntRet As Variant
strRngAddress = rng.Address
strRngadress2 = rng1.Address
With Application
.Volatile True
Set objXlRng = .Caller
End With
With objXlRng
With .Worksheet
strWshName = .Name
Set objXlWbk = .Parent
End With
End With
For Each objXlWsh In objXlWbk.Worksheets
If (objXlWsh.Name <> strWshName) Then
prova = objXlWsh.range(strRngadress2).Value
If prova = condizione Then
vntRet = vntRet + CDbl(objXlWsh.range(strRngAddress).Value)
End If
End If
Next
ExitProcedure:
sommetout_si = vntRet
Set objXlRng = Nothing
Set objXlWsh = Nothing
Set objXlWbk = Nothing
Exit Function
ErrorHandler:
vntRet = CVErr(Err.Number)
Resume ExitProcedure
'End If
End Function
"Modeste" <gee-dee-@discussions.microsoft.com> a écrit dans le message de
news:67bc01c4cbd4$fad8e440$a601280a@phx.gbl...
Bonsour ® Rémi,
une seule adresse :
http://www.excelabo.net
notament un classeur de vincent Isoz
http://www.excelabo.net/moteurs/compteclic.php?nom=vi-
fonctionsxl
Salut Modeste, merci pour la réponse. Seulement, peut être ais-je mal formulé ma question ;-) Je ne souhaite pas savoir comment utiliser une fonction, mais savoir comment est-elle écrite en VBA !
Toutefois, le lien que tu m'as donné est excellent, et je le regarderais avec un peu plus d'attention. Je connaissais le site (qui ne connait pas le site de Disciplus.simplex ???) qui est le meilleur !!! mais je n'avais pas vu ce fichier sur les fonctions.
Pour en revenir à mon problème, je met le code de ma fonction, comme ça, s'il y a quelqu'un qui sait gérer les ">" et les "<" peut me donner un tuyau. Cette fonction sert a faire la somme sur une feuille synthese, de toutes les feuilles de la cellule voulu si la cellule est = a un critère.
Esemple sommetout_si(A1,100,A2) Immaginons que nous avons 3 feuilles et que nous mettons la fonction dans la feuille 3, la fonction fait la somme des cellules A2 si dans la cellule A1 la valeur est = 100.
Ok cela marche, mais comment faire A1 : =sommetout_si(A1,>100,A2) = 700 ?
Totutefois si quelqu'un sait ou trouver les fonctions en code, il serait mon heros du jour :-)
Public Function sommetout_si(ByVal rng1 As Excel.range, condizione, ByVal rng As Excel.range) On Error GoTo ErrorHandler Dim objXlRng As Excel.range Dim strWshName As String Dim objXlWbk As Excel.Workbook Dim objXlWsh As Excel.Worksheet Dim vntRet As Variant strRngAddress = rng.Address strRngadress2 = rng1.Address With Application .Volatile True Set objXlRng = .Caller End With With objXlRng With .Worksheet strWshName = .Name Set objXlWbk = .Parent End With End With For Each objXlWsh In objXlWbk.Worksheets If (objXlWsh.Name <> strWshName) Then prova = objXlWsh.range(strRngadress2).Value If prova = condizione Then vntRet = vntRet + CDbl(objXlWsh.range(strRngAddress).Value) End If End If Next ExitProcedure: sommetout_si = vntRet Set objXlRng = Nothing Set objXlWsh = Nothing Set objXlWbk = Nothing Exit Function
ErrorHandler: vntRet = CVErr(Err.Number) Resume ExitProcedure 'End If End Function
"Modeste" a écrit dans le message de news:67bc01c4cbd4$fad8e440$ Bonsour ® Rémi, une seule adresse : http://www.excelabo.net notament un classeur de vincent Isoz http://www.excelabo.net/moteurs/compteclic.php?nom=vi- fonctionsxl
@+
AV
Une solution pour utiliser les fonctions de feuille dans vba : la méthode "Evaluate" Qques exemples ici :
Merci AV, la fonction Evaluate est interessante, même si elle ne s'applique pas à mon pb :-(
Car, même si j'utilisais evaluate(sum.if("") dans ma fonction, cela ne marcherais pas. Car, si je ne me trompe pas, le premier critere doit être unique, il ne peut s'appliquer a plusieurs feuilles (au contraire della fonction somme, et de la fonction que j'ai crée !).
=SOMME(Feuil1:Feuil2!A1) fonctionne ! =somme.si('Feuil1:Feuil2'A1!,100,'Feuil1:Feuil2'!B1) ne fonctionne pas !
Je continue a chercher....
Merci quand même.
"AV" a écrit dans le message de news:
Une solution pour utiliser les fonctions de feuille dans vba : la méthode "Evaluate" Qques exemples ici :
Merci AV, la fonction Evaluate est interessante, même si elle ne s'applique
pas à mon pb :-(
Car, même si j'utilisais evaluate(sum.if("") dans ma fonction, cela ne
marcherais pas. Car, si je ne me trompe pas, le premier critere doit être
unique, il ne peut s'appliquer a plusieurs feuilles (au contraire della
fonction somme, et de la fonction que j'ai crée !).
=SOMME(Feuil1:Feuil2!A1) fonctionne !
=somme.si('Feuil1:Feuil2'A1!,100,'Feuil1:Feuil2'!B1) ne fonctionne pas !
Je continue a chercher....
Merci quand même.
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de
news:uUREcz9yEHA.2600@TK2MSFTNGP09.phx.gbl...
Une solution pour utiliser les fonctions de feuille dans vba : la méthode
"Evaluate"
Qques exemples ici :
Merci AV, la fonction Evaluate est interessante, même si elle ne s'applique pas à mon pb :-(
Car, même si j'utilisais evaluate(sum.if("") dans ma fonction, cela ne marcherais pas. Car, si je ne me trompe pas, le premier critere doit être unique, il ne peut s'appliquer a plusieurs feuilles (au contraire della fonction somme, et de la fonction que j'ai crée !).
=SOMME(Feuil1:Feuil2!A1) fonctionne ! =somme.si('Feuil1:Feuil2'A1!,100,'Feuil1:Feuil2'!B1) ne fonctionne pas !
Je continue a chercher....
Merci quand même.
"AV" a écrit dans le message de news:
Une solution pour utiliser les fonctions de feuille dans vba : la méthode "Evaluate" Qques exemples ici :
Je souhaiterais approfondir mes connaissances sur les fonctions. Je voudrais savoir si je peux trouver le détail (en Visual Basic pour Aplication) de toutes les fonctions standard Excel (somme, nb, droite,...)
Pour ton problème particulier, hors une fonction perso, point de salut me semble-t-il !
AV
C'était une réponse à cette partie :
Je souhaiterais approfondir mes connaissances sur les
fonctions. Je voudrais savoir si je peux trouver le détail
(en Visual Basic pour Aplication) de toutes les fonctions
standard Excel (somme, nb, droite,...)
Pour ton problème particulier, hors une fonction perso, point de salut me
semble-t-il !
Je souhaiterais approfondir mes connaissances sur les fonctions. Je voudrais savoir si je peux trouver le détail (en Visual Basic pour Aplication) de toutes les fonctions standard Excel (somme, nb, droite,...)
Pour ton problème particulier, hors une fonction perso, point de salut me semble-t-il !
AV
Bob
Bonsoir !
Je ne suis pas sûr que c'est ce qui t'interresse mais voici mon idée : - En VBA, on peut, par une boucle, acceder à toutes les valeurs des cellules. - Donc si tu veux faire une fonction "somme.si" perso, il suffit de parcourrir ces cellules, d'additionner ce que tu veux, et de mettre le résultat dans ce que tu veux.
Sinon, je ne suis pas sûr que les-dites fonctions soient créées en VBA, mais plutôt en C++ et intégrées à Excel (??)
Cordialement...
"Remi" a écrit dans le message de news: 700501c4cbcd$0186eb50$ Bonjour à tous,
Je souhaiterais approfondir mes connaissances sur les fonctions. Je voudrais savoir si je peux trouver le détail (en Visual Basic pour Aplication) de toutes les fonctions standard Excel (somme, nb, droite,...)
Par exemple, je voulais faire un "somme.si" perso, mais je n'ai pas réussi a parametrer les réponses type ">", "<".
Donc, si les codes existent sur un site, ou ailleurs, pouvez-vous me donner des indications.
Merci d'avance. Rémi.
Bonsoir !
Je ne suis pas sûr que c'est ce qui t'interresse mais voici mon idée :
- En VBA, on peut, par une boucle, acceder à toutes les valeurs des
cellules.
- Donc si tu veux faire une fonction "somme.si" perso, il suffit de
parcourrir ces cellules,
d'additionner ce que tu veux, et de mettre le résultat dans ce que tu
veux.
Sinon, je ne suis pas sûr que les-dites fonctions soient créées en VBA, mais
plutôt en C++ et intégrées à Excel (??)
Cordialement...
"Remi" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 700501c4cbcd$0186eb50$a301280a@phx.gbl...
Bonjour à tous,
Je souhaiterais approfondir mes connaissances sur les
fonctions. Je voudrais savoir si je peux trouver le détail
(en Visual Basic pour Aplication) de toutes les fonctions
standard Excel (somme, nb, droite,...)
Par exemple, je voulais faire un "somme.si" perso, mais je
n'ai pas réussi a parametrer les réponses type ">", "<".
Donc, si les codes existent sur un site, ou ailleurs,
pouvez-vous me donner des indications.
Je ne suis pas sûr que c'est ce qui t'interresse mais voici mon idée : - En VBA, on peut, par une boucle, acceder à toutes les valeurs des cellules. - Donc si tu veux faire une fonction "somme.si" perso, il suffit de parcourrir ces cellules, d'additionner ce que tu veux, et de mettre le résultat dans ce que tu veux.
Sinon, je ne suis pas sûr que les-dites fonctions soient créées en VBA, mais plutôt en C++ et intégrées à Excel (??)
Cordialement...
"Remi" a écrit dans le message de news: 700501c4cbcd$0186eb50$ Bonjour à tous,
Je souhaiterais approfondir mes connaissances sur les fonctions. Je voudrais savoir si je peux trouver le détail (en Visual Basic pour Aplication) de toutes les fonctions standard Excel (somme, nb, droite,...)
Par exemple, je voulais faire un "somme.si" perso, mais je n'ai pas réussi a parametrer les réponses type ">", "<".
Donc, si les codes existent sur un site, ou ailleurs, pouvez-vous me donner des indications.