Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

utilisation de nb.diff de l'ami Laurent

10 réponses
Avatar
...Patrick
Bonsoir,
je sèche lamentablement sur l'utilisation en vba de cette fonction ...
à défaut, je place la formule sous la colonne choisie, je copie cette valeur
dans mon userform, puis l'efface de la feuille , mais j'aimerais sauter
cette étape .
Comment m'y prendre ?
ceci fonctionne bien sur:
/=======================
ActiveCell.FormulaLocal = "=nb.diff(" & ChoixColonne & ")"
NbUnik = ActiveCell.Value
...
...
UserForm1.Label2.Caption = "Création de " & NbUnik & " onglets ou
classeurs!"
...
...
/=================================

Je voudrais UserForm1.Label2.Caption = Application.WorksheetFunction.nb.diff
mais ça plante.

Merci

Patrick

10 réponses

Avatar
abcd
Je voudrais UserForm1.Label2.Caption = Application.WorksheetFunction.nb.diff
mais ça plante.



c'est normal puisque
1- il me semble que ce n'est pas une fonction de l'espace
worksheetfunction (cela n'est pas inclus d'origine dans excel mais est
importé, c'est une fonction complémentaire)

2- de toute façon, tu n'aurais pas pu l'atteindre en mettant le nom
français de la fonction dans du code vba... (donc ta syntaxe était
hasardeuse)

Si tu sais dans quel module est décrite cette fonction tu peux a priori
l'appeler avec son nom complet (genre, par exemple si tu créais une
fonction dans un de tes modules Essai, tu pourrais appeler
Essai.MaFonction )

Si jamais le module ajouté est publique, tu dois (peut-être) pouvoir
l'appeler directement en tapant MaFonction

donc tu peux essayer NB.DIFF sans rien avant

Avatar
...Patrick
ben suis pas plus avancé....
donc ma soluce pour l'instant est d'écrire dans la feuille, sous la colonne
choisie, la formule = nb.diff() et de récupérer cette valeur dans mon
userform pour ensuite l'effacer de la feuille.

Merci quand même à toi
Patrick

"abcd" a écrit dans le message de news:


Je voudrais UserForm1.Label2.Caption =
Application.WorksheetFunction.nb.diff mais ça plante.



c'est normal puisque
1- il me semble que ce n'est pas une fonction de l'espace
worksheetfunction (cela n'est pas inclus d'origine dans excel mais est
importé, c'est une fonction complémentaire)

2- de toute façon, tu n'aurais pas pu l'atteindre en mettant le nom
français de la fonction dans du code vba... (donc ta syntaxe était
hasardeuse)

Si tu sais dans quel module est décrite cette fonction tu peux a priori
l'appeler avec son nom complet (genre, par exemple si tu créais une
fonction dans un de tes modules Essai, tu pourrais appeler
Essai.MaFonction )

Si jamais le module ajouté est publique, tu dois (peut-être) pouvoir
l'appeler directement en tapant MaFonction

donc tu peux essayer NB.DIFF sans rien avant



Avatar
abcd
bah non pas forcément moins avancé: savoir que la fonction n'existe pas
directement en VBA ou dans les worksheetfunction te permet de t'orienter
vers de meilleures solutions:

par exemple évaluer dans VBA une expression excel
[SUM(A1:A10)]
est tout à fait permis par exemple

les fonctions ajoutées sont a priori possibles par cette méthode
[NB.DIFF(A1:A10)] doit pouvoir fonctionner a priori
Avatar
...Patrick
bon sang, mais c'est bien sur !!!
Ok , comment j'ai pas pensé plus tôt à cette synthaxe ???

Merci

...Patrick

"abcd" a écrit dans le message de news:

bah non pas forcément moins avancé: savoir que la fonction n'existe pas
directement en VBA ou dans les worksheetfunction te permet de t'orienter
vers de meilleures solutions:

par exemple évaluer dans VBA une expression excel
[SUM(A1:A10)]
est tout à fait permis par exemple

les fonctions ajoutées sont a priori possibles par cette méthode
[NB.DIFF(A1:A10)] doit pouvoir fonctionner a priori


Avatar
...Patrick
Mais , zut ça marche po !


Patrick


"...Patrick" a écrit dans le message de
news: %23%
bon sang, mais c'est bien sur !!!
Ok , comment j'ai pas pensé plus tôt à cette synthaxe ???

Merci

...Patrick

"abcd" a écrit dans le message de news:

bah non pas forcément moins avancé: savoir que la fonction n'existe pas
directement en VBA ou dans les worksheetfunction te permet de t'orienter
vers de meilleures solutions:

par exemple évaluer dans VBA une expression excel
[SUM(A1:A10)]
est tout à fait permis par exemple

les fonctions ajoutées sont a priori possibles par cette méthode
[NB.DIFF(A1:A10)] doit pouvoir fonctionner a priori






Avatar
Laurent Longre
Salut Patrick,

Normalement, [NB.DIFF(A1:A10)] devrait effectivement marcher. Tu rencontres
quelle erreur?

Laurent

Mais , zut ça marche po !


Patrick


"...Patrick" a écrit dans le message de
news: %23%

bon sang, mais c'est bien sur !!!
Ok , comment j'ai pas pensé plus tôt à cette synthaxe ???

Merci

...Patrick

"abcd" a écrit dans le message de news:


bah non pas forcément moins avancé: savoir que la fonction n'existe pas
directement en VBA ou dans les worksheetfunction te permet de t'orienter
vers de meilleures solutions:

par exemple évaluer dans VBA une expression excel
[SUM(A1:A10)]
est tout à fait permis par exemple

les fonctions ajoutées sont a priori possibles par cette méthode
[NB.DIFF(A1:A10)] doit pouvoir fonctionner a priori










Avatar
jps
tu n'avais pas dû en faire une bonne syntèse, pat!
jps

"...Patrick" a écrit dans le message de
news: %23%
Ok , comment j'ai pas pensé plus tôt à cette synthaxe ???


Avatar
...Patrick
non mais j'ai fait sortir le loup du bois ....:-))))))))

Laurent, je mets le fichier avec explication sur cjoint ds qq minutes

Merci

...Patrick

"jps" <enlevezd' a écrit dans le message de news:

tu n'avais pas dû en faire une bonne syntèse, pat!
jps

"...Patrick" a écrit dans le message de
news: %23%
Ok , comment j'ai pas pensé plus tôt à cette synthaxe ???





Avatar
...Patrick
Voilà Msieur...

Merci à toi encore

...Patrick (toujours débutant )

http://cjoint.com/?gzrCPUumDP


"Laurent Longre" a écrit dans le message de news:


Salut Patrick,

Normalement, [NB.DIFF(A1:A10)] devrait effectivement marcher. Tu
rencontres quelle erreur?

Laurent

Mais , zut ça marche po !


Patrick


"...Patrick" a écrit dans le message de
news: %23%

bon sang, mais c'est bien sur !!!
Ok , comment j'ai pas pensé plus tôt à cette synthaxe ???

Merci

...Patrick

"abcd" a écrit dans le message de news:


bah non pas forcément moins avancé: savoir que la fonction n'existe pas
directement en VBA ou dans les worksheetfunction te permet de t'orienter
vers de meilleures solutions:

par exemple évaluer dans VBA une expression excel
[SUM(A1:A10)]
est tout à fait permis par exemple

les fonctions ajoutées sont a priori possibles par cette méthode
[NB.DIFF(A1:A10)] doit pouvoir fonctionner a priori











Avatar
...Patrick
mais pas de réponse du Maitre ; sniffffffff

Patrick

"...Patrick" a écrit dans le message de
news: OMG%
non mais j'ai fait sortir le loup du bois ....:-))))))))

Laurent, je mets le fichier avec explication sur cjoint ds qq minutes

Merci

...Patrick

"jps" <enlevezd' a écrit dans le message de news:

tu n'avais pas dû en faire une bonne syntèse, pat!
jps

"...Patrick" a écrit dans le message de
news: %23%
Ok , comment j'ai pas pensé plus tôt à cette synthaxe ???