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
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
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
"MichD" a écrit dans le message de groupe de discussion :
m6k7ha$cp$1@speranza.aioe.org...
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
"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
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 '---------------------------------------------
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
'---------------------------------------------
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 '---------------------------------------------
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
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$426a74cc@news.free.fr...
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
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
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
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.
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.