OVH Cloud OVH Cloud

Erreur de code

2 réponses
Avatar
Claude BRIGUET
Bonjour,

Comme je débute un peu avec la programmation, je me permets de vous
soumettre un code qui ne fonctionne pas.

J'ai une section détail d'un état qui contient les champs "ResDeM1",
"ResDeM2", "ResDeM3", etc qui contiennent les valeur 1 à 9.
Je désire les formater en fonction de leur valeur.
Pour diminuer le code, je veux faire une boucle et écrire le nom du champs
dans la variable "LeNomDuChamps", la valeur du champs dans la variable
"LaValeurDuChamps, puis le formatter.
J'arrive créer la chaine de caractère du nom du champs et à l'introduire
dans la variable.
Mais ensuite, je suis incapable de l'utiliser.

Voici un petit extrait de ma procédure, écrite un peu n'importe comment :

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
For i = 1 To 12
LeNomDuChamp = "ResDeM" & i
LaValeurduchamps = ?????
LeNomDuChamp.BackColor = RGB(0, 0, 0)
LeNomDuChamp.BackStyle = 1
Select Case LaValeurduchamps
Case 1
LeNomDuChamp.BackColor = RGB(255, 0, 0)
Case 2
LeNomDuChamp.BackColor = RGB(0, 255, 0)
Case 3
LeNomDuChamp.BackColor = RGB(0, 0, 255)
End Select
Next i
End Sub

Est-ce que quelqu'un à le courage de m'aider ?

Merci d'avance.

Claude

2 réponses

Avatar
Raymond [mvp]
Bonjour.

Essaie ceci (non testé) :
Dim I As Integer
For I = 1 To 12
Select Case Me("ResDeM" & I)
Case 1
Me("ResDeM" & I).BackColor = RGB(255, 0, 0)
Case 2
Me("ResDeM" & I).BackColor = RGB(0, 255, 0)
Case 3
Me("ResDeM" & I).BackColor = RGB(0, 0, 255)
Case Else
Me("ResDeM" & I).BackColor = RGB(0, 0, 0)
End Select
Next I


pour le BackStyle = 1 je ne savais pas ce que tu voulais, tu le rajouteras.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Claude BRIGUET" a écrit dans le message de
news:
Bonjour,

Comme je débute un peu avec la programmation, je me permets de vous
soumettre un code qui ne fonctionne pas.

J'ai une section détail d'un état qui contient les champs "ResDeM1",
"ResDeM2", "ResDeM3", etc qui contiennent les valeur 1 à 9.
Je désire les formater en fonction de leur valeur.
Pour diminuer le code, je veux faire une boucle et écrire le nom du champs
dans la variable "LeNomDuChamps", la valeur du champs dans la variable
"LaValeurDuChamps, puis le formatter.
J'arrive créer la chaine de caractère du nom du champs et à l'introduire
dans la variable.
Mais ensuite, je suis incapable de l'utiliser.

Voici un petit extrait de ma procédure, écrite un peu n'importe comment :

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
For i = 1 To 12
LeNomDuChamp = "ResDeM" & i
LaValeurduchamps = ?????
LeNomDuChamp.BackColor = RGB(0, 0, 0)
LeNomDuChamp.BackStyle = 1
Select Case LaValeurduchamps
Case 1
LeNomDuChamp.BackColor = RGB(255, 0, 0)
Case 2
LeNomDuChamp.BackColor = RGB(0, 255, 0)
Case 3
LeNomDuChamp.BackColor = RGB(0, 0, 255)
End Select
Next i
End Sub

Est-ce que quelqu'un à le courage de m'aider ?

Merci d'avance.

Claude






Avatar
Claude BRIGUET
Est-ce que tu sais que tu es génial ?

Ca marche super bien. MERCI.

J'ai lu dans l'aide que le BackStyle doit être ajouté car sinon, ça ne
fonctionne pas (et c'est vrai...)

Encore un grand merci pour ton aide.
Bonne journée.

Claude



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

Essaie ceci (non testé) :
Dim I As Integer
For I = 1 To 12
Select Case Me("ResDeM" & I)
Case 1
Me("ResDeM" & I).BackColor = RGB(255, 0, 0)
Case 2
Me("ResDeM" & I).BackColor = RGB(0, 255, 0)
Case 3
Me("ResDeM" & I).BackColor = RGB(0, 0, 255)
Case Else
Me("ResDeM" & I).BackColor = RGB(0, 0, 0)
End Select
Next I


pour le BackStyle = 1 je ne savais pas ce que tu voulais, tu le
rajouteras.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Claude BRIGUET" a écrit dans le message de
news:
Bonjour,

Comme je débute un peu avec la programmation, je me permets de vous
soumettre un code qui ne fonctionne pas.

J'ai une section détail d'un état qui contient les champs "ResDeM1",
"ResDeM2", "ResDeM3", etc qui contiennent les valeur 1 à 9.
Je désire les formater en fonction de leur valeur.
Pour diminuer le code, je veux faire une boucle et écrire le nom du
champs


dans la variable "LeNomDuChamps", la valeur du champs dans la variable
"LaValeurDuChamps, puis le formatter.
J'arrive créer la chaine de caractère du nom du champs et à l'introduire
dans la variable.
Mais ensuite, je suis incapable de l'utiliser.

Voici un petit extrait de ma procédure, écrite un peu n'importe comment
:



Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
For i = 1 To 12
LeNomDuChamp = "ResDeM" & i
LaValeurduchamps = ?????
LeNomDuChamp.BackColor = RGB(0, 0, 0)
LeNomDuChamp.BackStyle = 1
Select Case LaValeurduchamps
Case 1
LeNomDuChamp.BackColor = RGB(255, 0, 0)
Case 2
LeNomDuChamp.BackColor = RGB(0, 255, 0)
Case 3
LeNomDuChamp.BackColor = RGB(0, 0, 255)
End Select
Next i
End Sub

Est-ce que quelqu'un à le courage de m'aider ?

Merci d'avance.

Claude