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

Problème d'affichage de fonctions personnalisées

15 réponses
Avatar
Jc
Bonjour,
Dans un fichier Excel, plusieurs fonctions personnalisées coexistent au sein
d'un même onglet, et ce sur plusieurs onglets (Poule 1, Poule 2,.... Poule
8).
En tant que telles, elles fonctionnent parfaitement.
Elle débutent toutes par Application.Volatile

Des cellules d'un autre onglet (Phase finale), qui sert à centraliser et
dispatcher les vainqueurs des différentes poules, sont reliées aux résultats
donnés par lesdites fonctions.

Lorsque je modifie les données servant à ces fonctions personnalisées au
sein d'un onglet, le calcul s'effectue correctement, mais il apparait un
message d'erreur lorsque je passe sur l'onglet suivant (#Ref ou #Valeur).
Il faut que je me mettent dans la formule et que je tape sur "Entrée" pour
que le calcule s'effectue et que le résultats apparaisse.

Dans l'onglet de phase finale, les nom des différents protagonistes apparait
normalement dans les cellules reliées. Mais, lorsque je saisis les résultats
les messages d'erreur apparaissent. Il faaut que la aussi je retourne dans
les onglets de poules pour "ré-entrer" les formules.

J'espère avoir été clair.

Question, pourquoi ce dysfonctionnement ? Et comment y remédier bien entendu
?

Merci d'avance pour le temps que vous allez consacrer à mon problème
_________________________________
A+
Jc

5 réponses

1 2
Avatar
MichD
A ) Qu'est-ce qui se passe si tu enlèves les 2 lignes de code
"application.Volatile?


B )
Par exemple, dans cette fonction, pourquoi la variable "Vecteur_Victoire"
n'a pas de type?
Est-ce une variable de type Range ?

Public Function TrouverNbrVictoire(Quelle_Place As Range, _
Vecteur_Place As Range, Vecteur_Victoire) As String
Avatar
Jc
"MichD" a écrit dans le message de groupe de discussion :
m6k7ha$cp$

A ) Qu'est-ce qui se passe si tu enlèves les 2 lignes de code
"application.Volatile?

Volatile ou pas la poule s'en fout.
Il n'y a pas de différence

B )
Par exemple, dans cette fonction, pourquoi la variable "Vecteur_Victoire"
n'a pas de type?
Est-ce une variable de type Range ?

Public Function TrouverNbrVictoire(Quelle_Place As Range, _
Vecteur_Place As Range, Vecteur_Victoire) As String

Oui c'est une Range, c'est un oubli (la tête dans le guidon), ça ne change
rien une fois rectifié.
Les calculs Effectué par mes fonctions apparaissent tout à fait normalement
dans la feuille sélectionnée.
Il se transforme en message d'erreur dès que je change de feuille.
_________________________________
A+
Jc
Avatar
MichD
Je n'ai pas vu ce que tu utilises comme formule dans ta feuille de calcul.

J'ai modifié un peu à l'aveuglette ta fonction comme ceci :

'---------------------------------------------
Public Function TrouverNbrVictoire(Quelle_Place As Range, _
Vecteur_Place As Range, Vecteur_Victoire As Range) As String
Dim iResult As Long, Victoires As String
Dim Cellul As Range, R As Long, C As Long

i = 0
With Worksheets(Vecteur_Place.Parent.Name)
For Each Cellul In .Range(Vecteur_Place.Address)
If .Range(Quelle_Place.Address).Value = Cellul.Value Then Exit For
i = i + 1
Next Cellul
R = .Range(Vecteur_Victoire.Address).Row + i
C = .Range(Vecteur_Victoire.Address).Column

iResult = .Cells(R, C).Value
If iResult > 1 Then Victoires = " Victoires" Else Victoires = "
Victoire"
TrouverNbrVictoire = iResult & Victoires
End With
End Function
'---------------------------------------------
Avatar
DanielCo
Au temps pour moi, est-ce que tu peux mettre ton classeur sur
http://cjoint.com ?
Daniel


"DanielCo" a écrit dans le message de groupe de discussion :
548d8ce7$0$2078$

Essaie d'ajouter le nom de la feuille correspondant aux paramètres
Range.
Daniel
Ma réponse n'apparaissant pas je recommence.
A quelle endroit faudrait-il ajouter le nom de la feuille, dans la fonction,
dans les paramètres de la fonction et comment faire dans ce cas ?
_________________________________
A+
Jc
Avatar
Jc
Bonjour,
Excusez cette interruption mais les contraintes sont ce qu'elles sont...
J'ai modifié toute les fonctions sur ce modèle en intégrant la feuille
concernée et cela fonctionne comme je le désire (en tout cas je n'ai pas
encore vu d'anomalies s'il y en a).
Un grand MERCI MichD et DanielCo pour votre collaboration qui va m'éviter de
passer par des chemins de traverses que je commençais à envisager.

_________________________________
A+
Jc
1 2