Enregistrer les modifs

Résolu
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 10 juin 2007 à 09:43
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 10 juin 2007 à 16:40
bonjour
dans une form j'ai plusieurs textbox
chaque textbox correspond au semaine de juillet et aout
exemple :
S 28 du 10 au 13 : 5 Jours
quand la semaine est inférieure à 5 jours ,je modifi la couleur de la police.Ensuite
j'enregistre tous ça dans ma base et je ferme,mais quand  j'ouvre de nouveau ma form,la couleur des polices ne sont pas la.
le probleme c'est comment enregistrer les modifs pour ,quand j'ouvre ma form
les modif de couleur sont la.
merci
petchy

11 réponses

FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
10 juin 2007 à 10:42
Je suis bien d'accord avec toi jmfmaques c'est toujours chiant d'avoir un fichier à ce timballer mais dans la question c'était comment comment enregistrer les modifications ?

Le plus rapide est bien de coder dans la source

Pour modifier la couleur de la police c'est plus Text4.ForeColor =  &HFF&
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juin 2007 à 11:41
Tiens,

Fais un tout petit projet :

1) insère une textbox nommée text1
2) copie la
3) collela ===>>> répond oui à la question qui va têtre posée

recommence ainsi jusqu'à obtenir 4 textboxes et regarde dans la fenêtre des propriétés :
la premièere est nommée Text1(0) la 2ème Text1(1) la 3ème Text1(2) et la 4ème text1(3)

Dispose-les dans cet ordre de gauche à droite

Mets ce code :

Private Sub Text1_Change(Index As Integer)
    tripotons Index
End Sub


Private Sub tripotons(ind)
  If ind <> 3 Then Exit Sub
  If Val(Text1(ind).Text) < Val(Text1(ind - 1).Text) Then
    Text1(ind).FontBold = True
    Text1(ind).ForeColor = vbRed
  Else
    Text1(ind).FontBold = False
    Text1(ind).ForeColor = vbBlack
  End If
End Sub

Lance

frappe ce que tu veux dans la 3ème puis frappe ce que tu veux dans la 4ème
et regarde .

Change maintenant cette ligne :
If ind <> 3 Then Exit Sub
par
If ind <> 3 and ind <>1 Then Exit Sub

et relance en faisant la même expérience entre la 2ème et la 1èere textbox mais également entre la 4ème et la 3ème.

Celà va te donner des idées, j'en suis certain
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juin 2007 à 09:51
Bonjour,

A moins que dans ta base, tu n'aies enregistré la couleur, tu ne l'obtiendras pas...
Sauf si tu répètes le raisonnement d'attribution de couleur lors qe chaque "rechargement" depuis ta base (ce qui d'ailleurs parait plus logique et évite d'alourdir inutilement ta base)

Il te suffit pour celà d'une fonction ou d'une routine paramétrée, à utiliser systématiquement (tant au chargement que lors de modifications)
0
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
10 juin 2007 à 09:55
Bonjour tu peux passer par un fichier ini que tu enregistres à chaque modifications ou à la fermeture puis que tu lis au moment de l'ouverture.
Tu trouveras tout ce qu'il faut ici pour faire cela

FMatrix07
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juin 2007 à 10:01
Ben non !
Pourquoi se trimbaler un fichier inutilement alors qu'il suffit d'une fonction ou d'une routine (au demeurant légère) dans l'application elle-même ???
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
10 juin 2007 à 10:11
Re
merci pour vos réponses,
voila j'ai essayé ça,mais je n'arrive pas à mettre de la couleur
c'est un essai,
Private Sub Form_Activate()
If Val(Text4.Text) < Val(Text3.Text) Then
Text4.Font.Size = 20
Else
If Val(Text4.Text) > Val(Text3.Text) Then
Text4.Font.Charset = &HFF&
End If
End If
End Sub

Petchy
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
10 juin 2007 à 10:55
Re
je vais mettre tous ça dans activate,
merci encore
Petchy
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juin 2007 à 11:16
Petchy- :

ton code d'essai ne me plait pas du tout !
1) c'est l'événement Change qu'il te faut utiliser (et il fonctionnera pour tout)
2) dans l'événement change, appelle une soius-routine
3) es-tu certain de travailler sous VB6 ? Si oui (et donc pas sous VBA), il y a beaucoup mieux à faire.
4) ta condition si sinon est redondante pour rien
5) d'ailleurs, que veux-tu faire exactement ? (définis-le en français, sans code)
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
10 juin 2007 à 11:25
salut Jm
je l'ai mis dans l'événement activate et change,comme ça dés que j'ouvre ma form,j'ai les textbox qui change en fonction des jours de la semaine.
je suis bien en VB6,
il y à surement mieux mais je ne sais pas faire.
en fait se que je veux,c'est quand la semaine est inférieure à 5 jours,je voudrais que le que le texte soit en gras et en rouge
exemple :
S 28 du 10 au 13 : 5 Jours
S 28 du 10 au 13 : 4 Jours
voila,j'espere que c'est plus clair
@ plus
petchy
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
10 juin 2007 à 11:54
Re
ben forcément c'est mieux présenter sous cette forme
merci à toi
bon dimanche et bon pastaga
petchy
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juin 2007 à 16:40
Bien ...
Maintenant que tu as compris le principe :
voilà comment on peut écrire "plus court" pour le même résultat

Private Sub Text1_Change(Index As Integer)
  tripotons Index
End Sub

Private Sub tripotons(ind)
  If ind <> 3 And ind <> 1 Then Exit Sub
  Text1(ind).FontBold = IIf(Val(Text1(ind).Text) < Val(Text1(ind - 1).Text), True, False)
  Text1(ind).ForeColor = IIf(Val(Text1(ind).Text) < Val(Text1(ind - 1).Text), vbRed, vbBlack)
End Sub
0
Rejoignez-nous