Dans le module, vous m'aidez faire résume ou corriger plus simple, le
programme est parfait (pas de erreur) mais il est trop long suivante :
Private Function CH01()
Select Case Me.H01
Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T"
If Not IsNull(Me.B01) Then
Me.H01n = (((DLookup("[Durée]", "[Req GP AGenerale]",
"[Code]='" & Me.H01 & "'")) + (Me.B01)) + (Me.FixeHorairePMN)) *
(Me.TempsNum)
Else
Me.H01n = ((DLookup("[Durée]", "[Req GP AGenerale]",
"[Code]='" & Me.H01 & "'")) + (Me.FixeHorairePMN)) * (Me.TempsNum)
End If
Case "A1", "A2", "A7", "A9", "B1", "S6"
If Not IsNull(Me.B01) Then
Me.H01n = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" &
Me.H01 & "'")) + (Me.B01)
Else
Me.H01n = DLookup("[Durée]", "[Req GP AInfo]", "[Code]='" &
Me.H01 & "'")
End If
Case "RH"
If Not IsNull(Me.B01) Then
Me.H01n = 0 + (Me.B01)
Else
Me.H01n = "0"
End If
Case Else
If IsNull(Me.H01) Then
Me.H01n = ""
Me.H01 = ""
Else
Me.H01n = ""
Me.H01 = ""
MsgBox "Ce code n'existe pas"
End If
End Select
End Function
Private Function CH02()
Select Case Me.H02
Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T"
If Not IsNull(Me.B02) Then
Me.H02n = (((DLookup("[Durée]", "[Req GP AGenerale]",
"[Code]='" & Me.H02 & "'")) + (Me.B02)) + (Me.FixeHorairePMN)) *
(Me.TempsNum)
Else
Me.H02n = ((DLookup("[Durée]", "[Req GP AGenerale]",
"[Code]='" & Me.H02 & "'")) + (Me.FixeHorairePMN)) * (Me.TempsNum)
End If
Case "A1", "A2", "A7", "A9", "B1", "S6"
If Not IsNull(Me.B02) Then
Me.H02n = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" &
Me.H02 & "'")) + (Me.B02)
Else
Me.H02n = DLookup("[Durée]", "[Req GP AInfo]", "[Code]='" &
Me.H02 & "'")
End If
Case "RH"
If Not IsNull(Me.B02) Then
Me.H02n = 0 + (Me.B02)
Else
Me.H02n = "0"
End If
Case Else
If IsNull(Me.H02) Then
Me.H02n = ""
Me.H02 = ""
Else
Me.H02n = ""
Me.H02 = ""
MsgBox "Ce code n'existe pas"
End If
End Select
End Function
Private Function CH03()
Select Case Me.H03
Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T"
If Not IsNull(Me.B03) Then
Me.H03n = (((DLookup("[Durée]", "[Req GP AGenerale]",
"[Code]='" & Me.H03 & "'")) + (Me.B03)) + (Me.FixeHorairePMN)) *
(Me.TempsNum)
Else
Me.H03n = ((DLookup("[Durée]", "[Req GP AGenerale]",
"[Code]='" & Me.H03 & "'")) + (Me.FixeHorairePMN)) * (Me.TempsNum)
End If
Case "A1", "A2", "A7", "A9", "B1", "S6"
If Not IsNull(Me.B03) Then
Me.H03n = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" &
Me.H03 & "'")) + (Me.B03)
Else
Me.H03n = DLookup("[Durée]", "[Req GP AInfo]", "[Code]='" &
Me.H03 & "'")
End If
Case "RH"
If Not IsNull(Me.B03) Then
Me.H03n = 0 + (Me.B03)
Else
Me.H03n = "0"
End If
Case Else
If IsNull(Me.B03) Then
Me.H03n = ""
Me.H03 = ""
Else
Me.H03n = ""
Me.H03 = ""
MsgBox "Ce code n'existe pas"
End If
End Select
End Function
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
Gilles
Bonjour
Dans le module, vous m'aidez faire résume ou corriger plus simple, le programme est parfait (pas de erreur) mais il est trop long suivante :
Private Function CH01() (...) End Function
Merci d'avance
Bonjour, FujitsuChaos
Tes trois fonctions (qui, au passage ne renvoie pas de valeur) semblent avoir exactement la même structure. La première chose à faire serait de créer une fonction "générique" que tu appelerais avec les bons paramètres. La deuxième chose concerne les tests sur les valeurs nulles. Je te conseille de voir du côté de la fonction Nz(Expression[, ValeurSiNull]) brillament commentée sur la page suivante: http://officesystem.access.free.fr/vba/nz.htm Enfin, je me suis permis de t'écrire une simplification possible que je te laisse le soin de tester, après avoir fait une sauvegarde de ta base:
<début code> Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X) Select Case H0X Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T" H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" & H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum) Case "A1", "A2", "A7", "A9", "B1", "S6" H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X & "'")) + Nz(B0X, 0) Case "RH" H0Xn = 0 + Nz(B0X, 0) Case IsNull H0Xn = "" H0X = "" Case Else H0Xn = "" H0X = "" MsgBox "Ce code n'existe pas" End Select End Function
Private Function CH01() CH01 = CH0X(Me.H01, Me.H01n, Me.B01) End Function
Private Function CH02() CH02 = CH0X(Me.H02, Me.H02n, Me.B02) End Function
Private Function CH03() CH03 = CH0X(Me.H03, Me.H03n, Me.B03) End Function <fin code>
Bonne continuation
Bonjour
Dans le module, vous m'aidez faire résume ou corriger plus simple, le
programme est parfait (pas de erreur) mais il est trop long suivante :
Private Function CH01()
(...)
End Function
Merci d'avance
Bonjour, FujitsuChaos
Tes trois fonctions (qui, au passage ne renvoie pas de valeur) semblent
avoir exactement la même structure.
La première chose à faire serait de créer une fonction "générique" que tu
appelerais avec les bons paramètres.
La deuxième chose concerne les tests sur les valeurs nulles.
Je te conseille de voir du côté de la fonction Nz(Expression[,
ValeurSiNull]) brillament commentée sur la page suivante:
http://officesystem.access.free.fr/vba/nz.htm
Enfin, je me suis permis de t'écrire une simplification possible que je te
laisse le soin de tester, après avoir fait une sauvegarde de ta base:
<début code>
Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X)
Select Case H0X
Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T"
H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" &
H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum)
Case "A1", "A2", "A7", "A9", "B1", "S6"
H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X &
"'")) + Nz(B0X, 0)
Case "RH"
H0Xn = 0 + Nz(B0X, 0)
Case IsNull
H0Xn = ""
H0X = ""
Case Else
H0Xn = ""
H0X = ""
MsgBox "Ce code n'existe pas"
End Select
End Function
Private Function CH01()
CH01 = CH0X(Me.H01, Me.H01n, Me.B01)
End Function
Private Function CH02()
CH02 = CH0X(Me.H02, Me.H02n, Me.B02)
End Function
Private Function CH03()
CH03 = CH0X(Me.H03, Me.H03n, Me.B03)
End Function
<fin code>
Dans le module, vous m'aidez faire résume ou corriger plus simple, le programme est parfait (pas de erreur) mais il est trop long suivante :
Private Function CH01() (...) End Function
Merci d'avance
Bonjour, FujitsuChaos
Tes trois fonctions (qui, au passage ne renvoie pas de valeur) semblent avoir exactement la même structure. La première chose à faire serait de créer une fonction "générique" que tu appelerais avec les bons paramètres. La deuxième chose concerne les tests sur les valeurs nulles. Je te conseille de voir du côté de la fonction Nz(Expression[, ValeurSiNull]) brillament commentée sur la page suivante: http://officesystem.access.free.fr/vba/nz.htm Enfin, je me suis permis de t'écrire une simplification possible que je te laisse le soin de tester, après avoir fait une sauvegarde de ta base:
<début code> Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X) Select Case H0X Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T" H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" & H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum) Case "A1", "A2", "A7", "A9", "B1", "S6" H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X & "'")) + Nz(B0X, 0) Case "RH" H0Xn = 0 + Nz(B0X, 0) Case IsNull H0Xn = "" H0X = "" Case Else H0Xn = "" H0X = "" MsgBox "Ce code n'existe pas" End Select End Function
Private Function CH01() CH01 = CH0X(Me.H01, Me.H01n, Me.B01) End Function
Private Function CH02() CH02 = CH0X(Me.H02, Me.H02n, Me.B02) End Function
Private Function CH03() CH03 = CH0X(Me.H03, Me.H03n, Me.B03) End Function <fin code>
Bonne continuation
FujitsuChaos
Bonjour Gilles
La deuxième : Nz(Expression[,> ValeurSiNull]), c'est intéressant. La Première : le programme n'y a pas Erreur mais rien la valeur de résultat H0Xn Si je tape JJ dans H0X par exemple, la valeur est "Ce code n'existe pas", c'est bon Mais si je tape de CA ou A1....., rien de valeur...???
Merci de votre aide Marco
Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X) Select Case H0X Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T" H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" & H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum) Case "A1", "A2", "A7", "A9", "B1", "S6" H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X & "'")) + Nz(B0X, 0) Case "RH" H0Xn = 0 + Nz(B0X, 0) Case Else H0Xn = "" H0X = "" MsgBox "Ce code n'existe pas" End Select End Function ********************* Private Function CH01() CH01 = CH0X(Me.H01, Me.H01n, Me.B01) End Function
Private Function CH02() CH02 = CH0X(Me.H02, Me.H02n, Me.B02) End Function
Private Function CH03() CH03 = CH0X(Me.H03, Me.H03n, Me.B03) End Function ********************* Private Sub B01_AfterUpdate() CH01 End Sub
Private Sub B02_AfterUpdate() CH02 End Sub
Private Sub B03_AfterUpdate() CH03 End Sub ********************** Private Sub H01_AfterUpdate() CH01 End Sub
Private Sub H02_AfterUpdate() CH02 End Sub
Private Sub H03_AfterUpdate() CH03 End Sub ************************
"Gilles" a écrit dans le message de news: %23g$%
Bonjour
Dans le module, vous m'aidez faire résume ou corriger plus simple, le programme est parfait (pas de erreur) mais il est trop long suivante :
Private Function CH01() (...) End Function
Merci d'avance
Bonjour, FujitsuChaos
Tes trois fonctions (qui, au passage ne renvoie pas de valeur) semblent avoir exactement la même structure. La première chose à faire serait de créer une fonction "générique" que tu appelerais avec les bons paramètres. La deuxième chose concerne les tests sur les valeurs nulles. Je te conseille de voir du côté de la fonction Nz(Expression[, ValeurSiNull]) brillament commentée sur la page suivante: http://officesystem.access.free.fr/vba/nz.htm Enfin, je me suis permis de t'écrire une simplification possible que je te laisse le soin de tester, après avoir fait une sauvegarde de ta base:
<début code> Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X) Select Case H0X Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T" H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" & H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum) Case "A1", "A2", "A7", "A9", "B1", "S6" H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X & "'")) + Nz(B0X, 0) Case "RH" H0Xn = 0 + Nz(B0X, 0) Case IsNull H0Xn = "" H0X = "" Case Else H0Xn = "" H0X = "" MsgBox "Ce code n'existe pas" End Select End Function
Private Function CH01() CH01 = CH0X(Me.H01, Me.H01n, Me.B01) End Function
Private Function CH02() CH02 = CH0X(Me.H02, Me.H02n, Me.B02) End Function
Private Function CH03() CH03 = CH0X(Me.H03, Me.H03n, Me.B03) End Function <fin code>
Bonne continuation
Bonjour Gilles
La deuxième : Nz(Expression[,> ValeurSiNull]), c'est intéressant.
La Première : le programme n'y a pas Erreur mais rien la valeur de résultat
H0Xn
Si je tape JJ dans H0X par exemple, la valeur est "Ce code n'existe pas",
c'est bon
Mais si je tape de CA ou A1....., rien de valeur...???
Merci de votre aide
Marco
Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X)
Select Case H0X
Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T"
H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" &
H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum)
Case "A1", "A2", "A7", "A9", "B1", "S6"
H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X &
"'")) + Nz(B0X, 0)
Case "RH"
H0Xn = 0 + Nz(B0X, 0)
Case Else
H0Xn = ""
H0X = ""
MsgBox "Ce code n'existe pas"
End Select
End Function
*********************
Private Function CH01()
CH01 = CH0X(Me.H01, Me.H01n, Me.B01)
End Function
Private Function CH02()
CH02 = CH0X(Me.H02, Me.H02n, Me.B02)
End Function
Private Function CH03()
CH03 = CH0X(Me.H03, Me.H03n, Me.B03)
End Function
*********************
Private Sub B01_AfterUpdate()
CH01
End Sub
Private Sub B02_AfterUpdate()
CH02
End Sub
Private Sub B03_AfterUpdate()
CH03
End Sub
**********************
Private Sub H01_AfterUpdate()
CH01
End Sub
Private Sub H02_AfterUpdate()
CH02
End Sub
Private Sub H03_AfterUpdate()
CH03
End Sub
************************
"Gilles" <gm.net@framex.fr> a écrit dans le message de news:
%23g$%23HEXfFHA.3256@TK2MSFTNGP12.phx.gbl...
Bonjour
Dans le module, vous m'aidez faire résume ou corriger plus simple, le
programme est parfait (pas de erreur) mais il est trop long suivante :
Private Function CH01()
(...)
End Function
Merci d'avance
Bonjour, FujitsuChaos
Tes trois fonctions (qui, au passage ne renvoie pas de valeur) semblent
avoir exactement la même structure.
La première chose à faire serait de créer une fonction "générique" que tu
appelerais avec les bons paramètres.
La deuxième chose concerne les tests sur les valeurs nulles.
Je te conseille de voir du côté de la fonction Nz(Expression[,
ValeurSiNull]) brillament commentée sur la page suivante:
http://officesystem.access.free.fr/vba/nz.htm
Enfin, je me suis permis de t'écrire une simplification possible que je te
laisse le soin de tester, après avoir fait une sauvegarde de ta base:
<début code>
Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X)
Select Case H0X
Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T"
H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" &
H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum)
Case "A1", "A2", "A7", "A9", "B1", "S6"
H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X &
"'")) + Nz(B0X, 0)
Case "RH"
H0Xn = 0 + Nz(B0X, 0)
Case IsNull
H0Xn = ""
H0X = ""
Case Else
H0Xn = ""
H0X = ""
MsgBox "Ce code n'existe pas"
End Select
End Function
Private Function CH01()
CH01 = CH0X(Me.H01, Me.H01n, Me.B01)
End Function
Private Function CH02()
CH02 = CH0X(Me.H02, Me.H02n, Me.B02)
End Function
Private Function CH03()
CH03 = CH0X(Me.H03, Me.H03n, Me.B03)
End Function
<fin code>
La deuxième : Nz(Expression[,> ValeurSiNull]), c'est intéressant. La Première : le programme n'y a pas Erreur mais rien la valeur de résultat H0Xn Si je tape JJ dans H0X par exemple, la valeur est "Ce code n'existe pas", c'est bon Mais si je tape de CA ou A1....., rien de valeur...???
Merci de votre aide Marco
Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X) Select Case H0X Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T" H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" & H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum) Case "A1", "A2", "A7", "A9", "B1", "S6" H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X & "'")) + Nz(B0X, 0) Case "RH" H0Xn = 0 + Nz(B0X, 0) Case Else H0Xn = "" H0X = "" MsgBox "Ce code n'existe pas" End Select End Function ********************* Private Function CH01() CH01 = CH0X(Me.H01, Me.H01n, Me.B01) End Function
Private Function CH02() CH02 = CH0X(Me.H02, Me.H02n, Me.B02) End Function
Private Function CH03() CH03 = CH0X(Me.H03, Me.H03n, Me.B03) End Function ********************* Private Sub B01_AfterUpdate() CH01 End Sub
Private Sub B02_AfterUpdate() CH02 End Sub
Private Sub B03_AfterUpdate() CH03 End Sub ********************** Private Sub H01_AfterUpdate() CH01 End Sub
Private Sub H02_AfterUpdate() CH02 End Sub
Private Sub H03_AfterUpdate() CH03 End Sub ************************
"Gilles" a écrit dans le message de news: %23g$%
Bonjour
Dans le module, vous m'aidez faire résume ou corriger plus simple, le programme est parfait (pas de erreur) mais il est trop long suivante :
Private Function CH01() (...) End Function
Merci d'avance
Bonjour, FujitsuChaos
Tes trois fonctions (qui, au passage ne renvoie pas de valeur) semblent avoir exactement la même structure. La première chose à faire serait de créer une fonction "générique" que tu appelerais avec les bons paramètres. La deuxième chose concerne les tests sur les valeurs nulles. Je te conseille de voir du côté de la fonction Nz(Expression[, ValeurSiNull]) brillament commentée sur la page suivante: http://officesystem.access.free.fr/vba/nz.htm Enfin, je me suis permis de t'écrire une simplification possible que je te laisse le soin de tester, après avoir fait une sauvegarde de ta base:
<début code> Private Function CH0X(ByRef H0X, ByRef H0Xn, ByVal B0X) Select Case H0X Case "CA", "JF", "RT", "RT2", "HS", "CR", "F8", "T" H0Xn = (((DLookup("[Durée]", "[Req GP AGenerale]", "[Code]='" & H0X & "'")) + Nz(B0X, 0)) + (Me.FixeHorairePMN)) * (Me.TempsNum) Case "A1", "A2", "A7", "A9", "B1", "S6" H0Xn = (DLookup("[Durée]", "[Req GP Ainfo]", "[Code]='" & H0X & "'")) + Nz(B0X, 0) Case "RH" H0Xn = 0 + Nz(B0X, 0) Case IsNull H0Xn = "" H0X = "" Case Else H0Xn = "" H0X = "" MsgBox "Ce code n'existe pas" End Select End Function
Private Function CH01() CH01 = CH0X(Me.H01, Me.H01n, Me.B01) End Function
Private Function CH02() CH02 = CH0X(Me.H02, Me.H02n, Me.B02) End Function
Private Function CH03() CH03 = CH0X(Me.H03, Me.H03n, Me.B03) End Function <fin code>
Bonne continuation
Gilles
"FujitsuChaos" a écrit:
Bonjour Gilles
La deuxième : Nz(Expression[,> ValeurSiNull]), c'est intéressant. La Première : le programme n'y a pas Erreur mais rien la valeur de résultat
H0Xn Si je tape JJ dans H0X par exemple, la valeur est "Ce code n'existe pas", c'est bon Mais si je tape de CA ou A1....., rien de valeur...???
Merci de votre aide Marco (...) ********************* Private Function CH01() CH01 = CH0X(Me.H01, Me.H01n, Me.B01) End Function (...)
Bonjour, Marco
Ce que tu me dis, c'est que tes valeurs H0Xn ne sont pas modifiées quand tu modifies H0X, c'est bien cela ? Les contrôles H0Xn ne seraient pas verrouillés ? Si ton code initial fonctionnait, je ne vois pas de raison pour que ce code "amaigri" ne fonctionne pas... Vérifie que les contrôles peuvent être modifiés et qu'il n'y a pas d'autres évènements qui viendraient perturber le déroulement des fonctions. Au besoin, essaie d'exécuter le code en pas à pas en mettant des points d'arrêt.
Bonne continuation
"FujitsuChaos" a écrit:
Bonjour Gilles
La deuxième : Nz(Expression[,> ValeurSiNull]), c'est intéressant.
La Première : le programme n'y a pas Erreur mais rien la valeur de
résultat
H0Xn
Si je tape JJ dans H0X par exemple, la valeur est "Ce code n'existe pas",
c'est bon
Mais si je tape de CA ou A1....., rien de valeur...???
Merci de votre aide
Marco
(...)
*********************
Private Function CH01()
CH01 = CH0X(Me.H01, Me.H01n, Me.B01)
End Function
(...)
Bonjour, Marco
Ce que tu me dis, c'est que tes valeurs H0Xn ne sont pas modifiées quand tu
modifies H0X, c'est bien cela ?
Les contrôles H0Xn ne seraient pas verrouillés ?
Si ton code initial fonctionnait, je ne vois pas de raison pour que ce code
"amaigri" ne fonctionne pas...
Vérifie que les contrôles peuvent être modifiés et qu'il n'y a pas d'autres
évènements qui viendraient perturber le déroulement des fonctions.
Au besoin, essaie d'exécuter le code en pas à pas en mettant des points
d'arrêt.
La deuxième : Nz(Expression[,> ValeurSiNull]), c'est intéressant. La Première : le programme n'y a pas Erreur mais rien la valeur de résultat
H0Xn Si je tape JJ dans H0X par exemple, la valeur est "Ce code n'existe pas", c'est bon Mais si je tape de CA ou A1....., rien de valeur...???
Merci de votre aide Marco (...) ********************* Private Function CH01() CH01 = CH0X(Me.H01, Me.H01n, Me.B01) End Function (...)
Bonjour, Marco
Ce que tu me dis, c'est que tes valeurs H0Xn ne sont pas modifiées quand tu modifies H0X, c'est bien cela ? Les contrôles H0Xn ne seraient pas verrouillés ? Si ton code initial fonctionnait, je ne vois pas de raison pour que ce code "amaigri" ne fonctionne pas... Vérifie que les contrôles peuvent être modifiés et qu'il n'y a pas d'autres évènements qui viendraient perturber le déroulement des fonctions. Au besoin, essaie d'exécuter le code en pas à pas en mettant des points d'arrêt.