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

Variables tableaux

9 réponses
Avatar
NetChris
Bonjour (et bon dimanche)

Je dois calculer 4 valeurs de cotisations, sachant que la personne peut
choisir :
2 formules parmi 3 et
2 niveaux parmi 5

j'ai donc créer 3 cases à cocher : vformule1, vformule2, vformule3 et
5 cases à cocher : vniveau1, vniveau2, vniveau3, vniveau4, vniveau5
j'ai contrôlé que le nombre de cases cochés étaient bons. (somme de
vformule(x) = -2 idem pour vniveau

Mais je n'arrive pas à faire fonctionner ma procédure de calcul des 4
cotisations possibles,
le compilation me dit que vFormule n'existe pas ! et il a raison puisque
j'ai vFormule1, vFormule2, ....
Mon problème se trouve à ce niveau.

Voici la procédure :

Private Sub BtCalcul_Cotisation_Click()
Dim I As Integer, J As Integer

If (verif_formule * -1) > 0 And (verif_niveau * -1) > 0 And Not
IsNull(Me.vFRANCHISE) Then
For I = 1 To 3
If vFormule & "'" & I & "'" Then
For J = 1 To 5
If vNIVEAU & "'" & J & "'" Then
a = a + 1
vCOTISATION & "'" & a & "'" = IJ_COTISATION(vFormule &
"'" & i & "'".Tag, Me.vNIVEAU1.Tag, Me.vFRANCHISE, f_AnneedeRef(),
Me.IJ_AGE)
MsgBox vFormule & "'" & I & "'"
End If
End If
Else
MsgBox "Vous devez remplir tous les zones de renseignements",
vbInformation, "Devis Maintien de Salaire 2"
End If
End Sub



Nota:
IJ_COTISATION() est une fonction dans laquelle je passe les paramètres de
calcul.
le .tag contient une valeur associée à chaque case à cocher.

Netchris

9 réponses

Avatar
Raymond
Bonjour.

sans vérifier les autres lignes , je changerais ces lignes comme ceci:

If Me.Controls(vFormule & I ) Then
For J = 1 To 5
If Me.Controls(vNIVEAU & J) Then

et pareil pour les autres (cotisations .....)

si tu es puriste, tu peux rajouter
Me.Controls(vFormule & I ).Value
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"NetChris" a écrit dans le message de
news:bl68j5$9vd$
Bonjour (et bon dimanche)

Je dois calculer 4 valeurs de cotisations, sachant que la personne peut
choisir :
2 formules parmi 3 et
2 niveaux parmi 5

j'ai donc créer 3 cases à cocher : vformule1, vformule2, vformule3 et
5 cases à cocher : vniveau1, vniveau2, vniveau3, vniveau4, vniveau5
j'ai contrôlé que le nombre de cases cochés étaient bons. (somme de
vformule(x) = -2 idem pour vniveau

Mais je n'arrive pas à faire fonctionner ma procédure de calcul des 4
cotisations possibles,
le compilation me dit que vFormule n'existe pas ! et il a raison puisque
j'ai vFormule1, vFormule2, ....
Mon problème se trouve à ce niveau.

Voici la procédure :

Private Sub BtCalcul_Cotisation_Click()
Dim I As Integer, J As Integer

If (verif_formule * -1) > 0 And (verif_niveau * -1) > 0 And Not
IsNull(Me.vFRANCHISE) Then
For I = 1 To 3
If vFormule & "'" & I & "'" Then
For J = 1 To 5
If vNIVEAU & "'" & J & "'" Then
a = a + 1
vCOTISATION & "'" & a & "'" = IJ_COTISATION(vFormule &
"'" & i & "'".Tag, Me.vNIVEAU1.Tag, Me.vFRANCHISE, f_AnneedeRef(),
Me.IJ_AGE)
MsgBox vFormule & "'" & I & "'"
End If
End If
Else
MsgBox "Vous devez remplir tous les zones de renseignements",
vbInformation, "Devis Maintien de Salaire 2"
End If
End Sub



Nota:
IJ_COTISATION() est une fonction dans laquelle je passe les paramètres de
calcul.
le .tag contient une valeur associée à chaque case à cocher.

Netchris




Avatar
NetChris
merci Raymond.

As-tu pu lire les .mdb ?

Netchris

"Raymond" a écrit dans le message de
news:
Bonjour.

sans vérifier les autres lignes , je changerais ces lignes comme ceci:

If Me.Controls(vFormule & I ) Then
For J = 1 To 5
If Me.Controls(vNIVEAU & J) Then

et pareil pour les autres (cotisations .....)

si tu es puriste, tu peux rajouter
Me.Controls(vFormule & I ).Value
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"NetChris" a écrit dans le message de
news:bl68j5$9vd$
Bonjour (et bon dimanche)

Je dois calculer 4 valeurs de cotisations, sachant que la personne peut
choisir :
2 formules parmi 3 et
2 niveaux parmi 5

j'ai donc créer 3 cases à cocher : vformule1, vformule2, vformule3 et
5 cases à cocher : vniveau1, vniveau2, vniveau3, vniveau4, vniveau5
j'ai contrôlé que le nombre de cases cochés étaient bons. (somme de
vformule(x) = -2 idem pour vniveau

Mais je n'arrive pas à faire fonctionner ma procédure de calcul des 4
cotisations possibles,
le compilation me dit que vFormule n'existe pas ! et il a raison puisque
j'ai vFormule1, vFormule2, ....
Mon problème se trouve à ce niveau.

Voici la procédure :

Private Sub BtCalcul_Cotisation_Click()
Dim I As Integer, J As Integer

If (verif_formule * -1) > 0 And (verif_niveau * -1) > 0 And Not
IsNull(Me.vFRANCHISE) Then
For I = 1 To 3
If vFormule & "'" & I & "'" Then
For J = 1 To 5
If vNIVEAU & "'" & J & "'" Then
a = a + 1
vCOTISATION & "'" & a & "'" = IJ_COTISATION(vFormule
&


"'" & i & "'".Tag, Me.vNIVEAU1.Tag, Me.vFRANCHISE, f_AnneedeRef(),
Me.IJ_AGE)
MsgBox vFormule & "'" & I & "'"
End If
End If
Else
MsgBox "Vous devez remplir tous les zones de renseignements",
vbInformation, "Devis Maintien de Salaire 2"
End If
End Sub



Nota:
IJ_COTISATION() est une fonction dans laquelle je passe les paramètres
de


calcul.
le .tag contient une valeur associée à chaque case à cocher.

Netchris







Avatar
Raymond
Oui merci.

mais je ne peux pas m'y consacrer à plein temps actuellement.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"NetChris" a écrit dans le message de
news:bl6ftl$c2f$
merci Raymond.

As-tu pu lire les .mdb ?

Netchris



Avatar
NetChris
j'ai suivi tes conseils, mais j'ai toujours 'Variable non définie' pour
vFormule !

For I = 1 To 3
If Me.Controls(vFormule & I) Then
For J = 1 To 5
If Me.Controls(vNIVEAU & J) Then
a = a + 1
Me.Controls(vCOTISATION & a) IJ_COTISATION(Me.Controls(vFormule & I).Tag, Me.Controls(vNIVEAU & J),
Me.vFRANCHISE, f_AnneedeRef(), Me.IJ_AGE)
End If
Next J
End If
Next I

Netchris



"Raymond" a écrit dans le message de
news:
Bonjour.

sans vérifier les autres lignes , je changerais ces lignes comme ceci:

If Me.Controls(vFormule & I ) Then
For J = 1 To 5
If Me.Controls(vNIVEAU & J) Then

et pareil pour les autres (cotisations .....)

si tu es puriste, tu peux rajouter
Me.Controls(vFormule & I ).Value
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"NetChris" a écrit dans le message de
news:bl68j5$9vd$
Bonjour (et bon dimanche)

Je dois calculer 4 valeurs de cotisations, sachant que la personne peut
choisir :
2 formules parmi 3 et
2 niveaux parmi 5

j'ai donc créer 3 cases à cocher : vformule1, vformule2, vformule3 et
5 cases à cocher : vniveau1, vniveau2, vniveau3, vniveau4, vniveau5
j'ai contrôlé que le nombre de cases cochés étaient bons. (somme de
vformule(x) = -2 idem pour vniveau

Mais je n'arrive pas à faire fonctionner ma procédure de calcul des 4
cotisations possibles,
le compilation me dit que vFormule n'existe pas ! et il a raison puisque
j'ai vFormule1, vFormule2, ....
Mon problème se trouve à ce niveau.

Voici la procédure :

Private Sub BtCalcul_Cotisation_Click()
Dim I As Integer, J As Integer

If (verif_formule * -1) > 0 And (verif_niveau * -1) > 0 And Not
IsNull(Me.vFRANCHISE) Then
For I = 1 To 3
If vFormule & "'" & I & "'" Then
For J = 1 To 5
If vNIVEAU & "'" & J & "'" Then
a = a + 1
vCOTISATION & "'" & a & "'" = IJ_COTISATION(vFormule
&


"'" & i & "'".Tag, Me.vNIVEAU1.Tag, Me.vFRANCHISE, f_AnneedeRef(),
Me.IJ_AGE)
MsgBox vFormule & "'" & I & "'"
End If
End If
Else
MsgBox "Vous devez remplir tous les zones de renseignements",
vbInformation, "Devis Maintien de Salaire 2"
End If
End Sub



Nota:
IJ_COTISATION() est une fonction dans laquelle je passe les paramètres
de


calcul.
le .tag contient une valeur associée à chaque case à cocher.

Netchris







Avatar
Raymond
Sur quelle ligne ?

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"NetChris" a écrit dans le message de
news:bl761a$hb2$
j'ai suivi tes conseils, mais j'ai toujours 'Variable non définie' pour
vFormule !

For I = 1 To 3
If Me.Controls(vFormule & I) Then
For J = 1 To 5
If Me.Controls(vNIVEAU & J) Then
a = a + 1
Me.Controls(vCOTISATION & a) > IJ_COTISATION(Me.Controls(vFormule & I).Tag, Me.Controls(vNIVEAU & J),
Me.vFRANCHISE, f_AnneedeRef(), Me.IJ_AGE)
End If
Next J
End If
Next I

Netchris



Avatar
NetChris
je viens de comprendre !
en mettant des " avant et après mes noms de champs.

Merci 1000 fois raymond pour ta piste.
Maintenant cela fonctionne nickel.

If (verif_formule * -1) > 0 And (verif_niveau * -1) > 0 And Not
IsNull(Me.vFRANCHISE) Then
For I = 1 To 3
If Me.Controls("vFormule" & Trim(Str(I))) Then
For J = 1 To 5
If Me.Controls("vNiveau" & Trim(Str(J))) Then
a = a + 1
Me.Controls("vCotisation" & Trim(Str(a))) IJ_COTISATION(Me.Controls("vFormule" & Trim(Str(I))).Tag,
Me.Controls("vNiveau" & Trim(Str(J))).Tag, Me.vFRANCHISE, f_AnneedeRef(),
Me.IJ_AGE)
End If
Next J
End If
Next I
Else
MsgBox "Vous devez remplir tous les zones de renseignements",
vbInformation, "Devis Maintien de Salaire 2"
End If



"Raymond" a écrit dans le message de
news:
Sur quelle ligne ?

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"NetChris" a écrit dans le message de
news:bl761a$hb2$
j'ai suivi tes conseils, mais j'ai toujours 'Variable non définie' pour
vFormule !

For I = 1 To 3
If Me.Controls(vFormule & I) Then
For J = 1 To 5
If Me.Controls(vNIVEAU & J) Then
a = a + 1
Me.Controls(vCOTISATION & a) > > IJ_COTISATION(Me.Controls(vFormule & I).Tag, Me.Controls(vNIVEAU & J),
Me.vFRANCHISE, f_AnneedeRef(), Me.IJ_AGE)
End If
Next J
End If
Next I

Netchris






Avatar
NetChris
Bonsoir, (suite du problème de gestion de variables)

J'essaie de mettre à jour la table CHAMP_FUSION en lisant celle de
R_CHAMP_FUSION_MAJ_IJ.

La 1ere contient FORMULE1, FORMULE2, NIVEAU1, NIVEAU2 ...
La 2nde contient formule1, formule2, formule3, niveau1, niveau2, niveau3,
niveau4, niveau5

j'ai une erreur (ligne 33)
'Impossible de trouver le champ 'RsQRIJ!Formule1' auquel il est fait
référence dans votre expression.'

effectivement, j'utilise la syntaxe Controls(.....) or je traite des champs
de fichiers. Je ne sais pas par quoi d'autres remplacer Controls !!!


Voici la procédure :

'///////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
Private Sub Maj_IJ_CHAMP_FUSION()
'Objectif Mettre à jour les zones IJ dans Champ_Fusion
Dim Db As DAO.Database
Set Db = CurrentDb()
Dim RsCF As DAO.Recordset
Dim RsQRIJ As DAO.Recordset

Dim VarY As Variant
Dim vID As Variant
Dim a, i, j As Integer

DoCmd.SetWarnings False
DoCmd.Hourglass True

Set RsCF = Db.OpenRecordset("CHAMP_FUSION") 'Ouverture de
Champ_fusion
Set RsQRIJ = Db.OpenRecordset("R_CHAMP_FUSION_MAJ_IJ") 'Lecture de la
selection des IJ à imprimer
VarY = RsCF.RecordCount

If VarY > 0 Then 'Test s'il y a des enregs dans
champ_fusion
RsCF.MoveFirst '1er enreg

Do Until RsCF.EOF 'boucle sur champ fusion
vID = RsCF![ID_PROSPECT]
RsQRIJ.FindFirst "ID_SOUS_DEVIS=" & vID
If Not RsQRIJ.NoMatch Then 's'il y en a au moins un !
RsCF.Edit
Debug.Print "Traitement de " & RsCF![NOM]

RsCF![INDICE] = RsQRIJ![INDICE]
RsCF![FRANCHISE] = RsQRIJ![FRANCHISE]

For i = 1 To 3
If Controls("RsQRIJ!Formule" & Trim(Str(i))) Then
'ligne 33
a = a + 1
Select Case i
Case 1
Controls("RsCF!Formule" & Trim(Str(a))) = "Essentielle"
Case 2
Controls("RsCF!Formule" & Trim(Str(a))) = "Confort"
Case 3
Controls("RsCF!Formule" & Trim(Str(a))) = "Excellence"
End Select
End If
Next i

a = 0
For j = 1 To 5
If Controls("RsQRIJ!Niveau" & Trim(Str(j))) Then
a = a + 1
Select Case j
Case 1
Controls("RsCF!Niveau" & Trim(Str(a))) = "I"
Case 2
Controls("RsCF!Niveau" & Trim(Str(a))) = "II"
Case 3
Controls("RsCF!Niveau" & Trim(Str(a))) = "III"
Case 4
Controls("RsCF!Niveau" & Trim(Str(a))) = "IV"
Case 5
Controls("RsCF!Niveau" & Trim(Str(a))) = "V"
End Select
End If
Next j

RsCF![COTISATION1] = RsQRIJ![COTISATION1]
RsCF![COTISATION2] = RsQRIJ![COTISATION2]
RsCF![COTISATION2] = RsQRIJ![COTISATION2]
RsCF![COTISATION3] = RsQRIJ![COTISATION3]

RsCF.Update
End If
RsCF.MoveNext
Loop
End If
RsCF.Close
RsQRIJ.Close
Set RsCF = Nothing
Set RsQRIJ = Nothing
DoCmd.Hourglass False
End Sub
Avatar
Raymond
Bonjour.

1- remarque d el'aide en ligne: Pour rechercher un enregistrement dans un
objet Recordset de type Table, utilisez la méthode Seek.
2- RsQRIJ.FindFirst "ID_SOUS_DEVIS=" & vID
vID est-il numérique ? si non mettre des '
RsQRIJ.FindFirst "ID_SOUS_DEVIS='" & vID & "'"
3- If Controls("RsQRIJ!Formule" & Trim(Str(i))) Then
remplacer par
If RsQRIJ.Fields("Formule" & i) Then
car c'est un champ de recordset. le faire pour tous. je n'ai pas vérifié
le reste.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"NetChris" a écrit dans le message de
news:bl7pnu$el1$
Bonsoir, (suite du problème de gestion de variables)

J'essaie de mettre à jour la table CHAMP_FUSION en lisant celle de
R_CHAMP_FUSION_MAJ_IJ.

La 1ere contient FORMULE1, FORMULE2, NIVEAU1, NIVEAU2 ...
La 2nde contient formule1, formule2, formule3, niveau1, niveau2, niveau3,
niveau4, niveau5

j'ai une erreur (ligne 33)
'Impossible de trouver le champ 'RsQRIJ!Formule1' auquel il est fait
référence dans votre expression.'

effectivement, j'utilise la syntaxe Controls(.....) or je traite des
champs

de fichiers. Je ne sais pas par quoi d'autres remplacer Controls !!!


Voici la procédure :


'///////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////
Private Sub Maj_IJ_CHAMP_FUSION()
'Objectif Mettre à jour les zones IJ dans Champ_Fusion
Dim Db As DAO.Database
Set Db = CurrentDb()
Dim RsCF As DAO.Recordset
Dim RsQRIJ As DAO.Recordset

Dim VarY As Variant
Dim vID As Variant
Dim a, i, j As Integer

DoCmd.SetWarnings False
DoCmd.Hourglass True

Set RsCF = Db.OpenRecordset("CHAMP_FUSION") 'Ouverture de
Champ_fusion
Set RsQRIJ = Db.OpenRecordset("R_CHAMP_FUSION_MAJ_IJ") 'Lecture de
la

selection des IJ à imprimer
VarY = RsCF.RecordCount

If VarY > 0 Then 'Test s'il y a des enregs dans
champ_fusion
RsCF.MoveFirst '1er enreg

Do Until RsCF.EOF 'boucle sur champ fusion
vID = RsCF![ID_PROSPECT]
RsQRIJ.FindFirst "ID_SOUS_DEVIS=" & vID
If Not RsQRIJ.NoMatch Then 's'il y en a au moins un !
RsCF.Edit
Debug.Print "Traitement de " & RsCF![NOM]

RsCF![INDICE] = RsQRIJ![INDICE]
RsCF![FRANCHISE] = RsQRIJ![FRANCHISE]

For i = 1 To 3
If Controls("RsQRIJ!Formule" & Trim(Str(i))) Then
'ligne 33
a = a + 1
Select Case i
Case 1
Controls("RsCF!Formule" & Trim(Str(a))) = "Essentielle"
Case 2
Controls("RsCF!Formule" & Trim(Str(a))) = "Confort"
Case 3
Controls("RsCF!Formule" & Trim(Str(a))) = "Excellence"
End Select
End If
Next i

a = 0
For j = 1 To 5
If Controls("RsQRIJ!Niveau" & Trim(Str(j))) Then
a = a + 1
Select Case j
Case 1
Controls("RsCF!Niveau" & Trim(Str(a))) = "I"
Case 2
Controls("RsCF!Niveau" & Trim(Str(a))) = "II"
Case 3
Controls("RsCF!Niveau" & Trim(Str(a))) = "III"
Case 4
Controls("RsCF!Niveau" & Trim(Str(a))) = "IV"
Case 5
Controls("RsCF!Niveau" & Trim(Str(a))) = "V"
End Select
End If
Next j

RsCF![COTISATION1] = RsQRIJ![COTISATION1]
RsCF![COTISATION2] = RsQRIJ![COTISATION2]
RsCF![COTISATION2] = RsQRIJ![COTISATION2]
RsCF![COTISATION3] = RsQRIJ![COTISATION3]

RsCF.Update
End If
RsCF.MoveNext
Loop
End If
RsCF.Close
RsQRIJ.Close
Set RsCF = Nothing
Set RsQRIJ = Nothing
DoCmd.Hourglass False
End Sub





Avatar
NetChris
Bonjour à tous,

Une fois de plus, Raymond, tes conseils m'ont permis de solutionner mon
problème et en plus d'améliorer mon programme.
Tu devrais être reconnu 'd'utilité publique' !

J'avoue que j'apprends beaucoup grâce à vous, et à la lecture des différents
posts !

Netchris


"Raymond" a écrit dans le message de
news:%
Bonjour.

1- remarque d el'aide en ligne: Pour rechercher un enregistrement dans un
objet Recordset de type Table, utilisez la méthode Seek.
2- RsQRIJ.FindFirst "ID_SOUS_DEVIS=" & vID
vID est-il numérique ? si non mettre des '
RsQRIJ.FindFirst "ID_SOUS_DEVIS='" & vID & "'"
3- If Controls("RsQRIJ!Formule" & Trim(Str(i))) Then
remplacer par
If RsQRIJ.Fields("Formule" & i) Then
car c'est un champ de recordset. le faire pour tous. je n'ai pas
vérifié

le reste.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"NetChris" a écrit dans le message de
news:bl7pnu$el1$
Bonsoir, (suite du problème de gestion de variables)

J'essaie de mettre à jour la table CHAMP_FUSION en lisant celle de
R_CHAMP_FUSION_MAJ_IJ.

La 1ere contient FORMULE1, FORMULE2, NIVEAU1, NIVEAU2 ...
La 2nde contient formule1, formule2, formule3, niveau1, niveau2,
niveau3,


niveau4, niveau5

j'ai une erreur (ligne 33)
'Impossible de trouver le champ 'RsQRIJ!Formule1' auquel il est fait
référence dans votre expression.'

effectivement, j'utilise la syntaxe Controls(.....) or je traite des
champs

de fichiers. Je ne sais pas par quoi d'autres remplacer Controls !!!


Voici la procédure :




'///////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////
Private Sub Maj_IJ_CHAMP_FUSION()
'Objectif Mettre à jour les zones IJ dans Champ_Fusion
Dim Db As DAO.Database
Set Db = CurrentDb()
Dim RsCF As DAO.Recordset
Dim RsQRIJ As DAO.Recordset

Dim VarY As Variant
Dim vID As Variant
Dim a, i, j As Integer

DoCmd.SetWarnings False
DoCmd.Hourglass True

Set RsCF = Db.OpenRecordset("CHAMP_FUSION") 'Ouverture de
Champ_fusion
Set RsQRIJ = Db.OpenRecordset("R_CHAMP_FUSION_MAJ_IJ") 'Lecture
de


la
selection des IJ à imprimer
VarY = RsCF.RecordCount

If VarY > 0 Then 'Test s'il y a des enregs
dans


champ_fusion
RsCF.MoveFirst '1er enreg

Do Until RsCF.EOF 'boucle sur champ fusion
vID = RsCF![ID_PROSPECT]
RsQRIJ.FindFirst "ID_SOUS_DEVIS=" & vID
If Not RsQRIJ.NoMatch Then 's'il y en a au moins un !
RsCF.Edit
Debug.Print "Traitement de " & RsCF![NOM]

RsCF![INDICE] = RsQRIJ![INDICE]
RsCF![FRANCHISE] = RsQRIJ![FRANCHISE]

For i = 1 To 3
If Controls("RsQRIJ!Formule" & Trim(Str(i))) Then
'ligne 33
a = a + 1
Select Case i
Case 1
Controls("RsCF!Formule" & Trim(Str(a))) = "Essentielle"
Case 2
Controls("RsCF!Formule" & Trim(Str(a))) = "Confort"
Case 3
Controls("RsCF!Formule" & Trim(Str(a))) = "Excellence"
End Select
End If
Next i

a = 0
For j = 1 To 5
If Controls("RsQRIJ!Niveau" & Trim(Str(j))) Then
a = a + 1
Select Case j
Case 1
Controls("RsCF!Niveau" & Trim(Str(a))) = "I"
Case 2
Controls("RsCF!Niveau" & Trim(Str(a))) = "II"
Case 3
Controls("RsCF!Niveau" & Trim(Str(a))) = "III"
Case 4
Controls("RsCF!Niveau" & Trim(Str(a))) = "IV"
Case 5
Controls("RsCF!Niveau" & Trim(Str(a))) = "V"
End Select
End If
Next j

RsCF![COTISATION1] = RsQRIJ![COTISATION1]
RsCF![COTISATION2] = RsQRIJ![COTISATION2]
RsCF![COTISATION2] = RsQRIJ![COTISATION2]
RsCF![COTISATION3] = RsQRIJ![COTISATION3]

RsCF.Update
End If
RsCF.MoveNext
Loop
End If
RsCF.Close
RsQRIJ.Close
Set RsCF = Nothing
Set RsQRIJ = Nothing
DoCmd.Hourglass False
End Sub