Enregistrer les modifs

[Résolu]
Signaler
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
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

Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
2
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&
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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)
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
2
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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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 ???
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
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
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
Re
je vais mettre tous ça dans activate,
merci encore
Petchy
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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)
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
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
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
Re
ben forcément c'est mieux présenter sous cette forme
merci à toi
bon dimanche et bon pastaga
petchy
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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