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

10 réponses

1 2
Avatar
Jacquouille
Bonjour JC

Je suis totalement incapable de t'aider dans ce domaine.

Mais, si je prends la plume, c'est pour te dire que j'apprécie l'humour.....

<< d'un même onglet, et ce sur plusieurs onglets (Poule 1, Poule 2,....
Poule 8).
<< Elle débutent toutes par Application.Volatile

Quoi de plus normal, pour des poules.... qui semblent en bonne santé,
puisque:
... elles fonctionnent parfaitement.





Bon WE et bonne chance. Garde bien le moral.
Jacques.


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jc" a écrit dans le message de groupe de discussion :
m6id27$9i2$

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


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
Jc
"Jacquouille" a écrit dans le message de groupe de discussion :
m6jsc9$59k$

Bonjour JC

Je suis totalement incapable de t'aider dans ce domaine.

Mais, si je prends la plume, c'est pour te dire que j'apprécie l'humour.....

<< d'un même onglet, et ce sur plusieurs onglets (Poule 1, Poule 2,....
Poule 8).
<< Elle débutent toutes par Application.Volatile

Quoi de plus normal, pour des poules.... qui semblent en bonne santé,
puisque:
... elles fonctionnent parfaitement.





Bon WE et bonne chance. Garde bien le moral.
Jacques.


Jacquouille

Salut

Je sens que je vais être obligé de biaiser...
_________________________________
A+
Jc
Avatar
DanielCo
Bonjour,
Publie le code d'une de ces fonctions, parce que, comme ça, c'est
mission impossible.
Cordialement.
Daniel


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
Avatar
Jc
Bonjour,

Voici 3 fonctions parmi d'autres. Elles représente les trois structures.
Elle se trouve dans un module normal appelé "Fonction"

Public Function TrouverNbrVictoire(Quelle_Place As Range, Vecteur_Place As
Range, Vecteur_Victoire) As String
Dim iResult As Integer, Victoires As String
Application.Volatile

i = 0
For Each Cellul In Vecteur_Place
If Quelle_Place.Value = Cellul.Value Then Exit For
i = i + 1
Next Cellul
iResult = Cells(Vecteur_Victoire.Row + i, Vecteur_Victoire.Column).Value
If iResult > 1 Then Victoires = " Victoires" Else Victoires = " Victoire"
TrouverNbrVictoire = iResult & Victoires
End Function


Public Function SetAverage(Domicile As Range, Visiteur As Range) As Integer
Dim iResult As Integer
Application.Volatile
For i = Range("RencontreBase").Row To Range("RencontreBaseFin").Row Step
19
If Domicile & Visiteur = Cells(i, 3) & Cells(i, 8) Or Visiteur &
Domicile = Cells(i, 3) & Cells(i, 8) Then
For j = 2 To 16
Select Case Cells(i + j, 11)
Case Domicile
iResult = iResult + 1
Case Visiteur
iResult = iResult - 1
End Select
Next j
Exit For
End If
Next i

SetAverage = iResult

End Function

Public Function ConcatenerPlace(Place As Range, MatchAverage As Range,
SetAverage As Range, PointAverage As Range) As Integer
Dim iResult As Integer
Application.Volatile

iResult = Place & MatchAverage & SetAverage & PointAverage
ConcatenerPlace = iResult

End Function

Merci pour le temps passé
_________________________________
A+
Jc
Avatar
Jc
Autoréponse
Il suffit de passer d'un onglet de poule à l'autre pour que les calcul
laissent apparaitre un message d'erreur.

J'ai pallier en insérant dans le code des onglets concerné :

Private Sub Worksheet_Activate()
Range("PouleN°").Formula = Range("PouleN°").Value
End Sub

Mais ça ne résous pas mon problème de la liaison dans l'onglet des phases
finales qui va chercher les différents résultats des poules.
J'obtiens dans les cellules "chercheuses" le message d'erreur.

_________________________________
A+
Jc
Avatar
DanielCo
Essaie d'ajouter le nom de la feuille correspondant aux paramètres
Range.
Daniel
Avatar
MichD
Bonjour,

Pourquoi utilises-tu "Application.Volatile" dans 2 de tes fonctions?

Dès que tu modifies la valeur d'une cellule dont tu as spécifié les plages
en paramètres, la fonction devrait faire la mise à jour qui s'impose au
niveau du résultat!
Si tu neutralises ces 2 lignes de code, as-tu toujours le même problème?
Avatar
Jc
"MichD" a écrit dans le message de groupe de discussion :
m6k3ho$m8i$

Bonjour,

Pourquoi utilises-tu "Application.Volatile" dans 2 de tes fonctions?

Dès que tu modifies la valeur d'une cellule dont tu as spécifié les plages
en paramètres, la fonction devrait faire la mise à jour qui s'impose au
niveau du résultat!
Si tu neutralises ces 2 lignes de code, as-tu toujours le même problème?

Oui, là où c'est vicieux, c'est que dans ma feuille de phase finale du
championnat, les 1/8ème de finale vont chercher les 1er et 2ème des 8 poules
concernées.
Alors quand je mets à jour la poule 1 et que je reviens dans la feuille de
phase finale les équipe 1 et 2 de la poule apparaissent bien mais les
résultats des autres poules apparait en message d'erreur.
_________________________________
A+
Jc
Avatar
Jc
"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
"MichD" a écrit dans le message de groupe de discussion :
m6k3ho$m8i$

Bonjour,

Pourquoi utilises-tu "Application.Volatile" dans 2 de tes fonctions?

Dès que tu modifies la valeur d'une cellule dont tu as spécifié les plages
en paramètres, la fonction devrait faire la mise à jour qui s'impose au
niveau du résultat!

Ca le fait sans problème.
C'est lorsque je passe dans une autre feuille qui fait appel aux mêmes
fonctions personnalisées que les messages d'erreur apparaissent, comme si le
calcul dans la feuille précédente influençait toutes les feuilles où les
fonctions sont présentent.
Donc je remets à jour la feuille dans où j'arrive mais c'est l'ancienne
entre autre qui est mal recalculée (faute d'autres termes et/ou de
compréhension du phénomène)

_________________________________
A+
Jc
1 2