Bouton "Enregistrer"

missaudrey

XLDnaute Nouveau
Bonjuor le forum,

j'e travaille sur un projet ouj'ai crée un userform avec 3 pages( Multipage). J'ai crée dan sl'un edes pages , un bouton "enregister qui me permet d'enegistrer mes données lorsque j'ai une modification. Mais qd j'effectue mes tests, lorsque je change de page, le bouton actif marche bien, mais lorsque je clique qur ("vbNO") , la valeur que j'ai changé dans l'autre page ne revient pas à la avaleur initiale. J'ai pourtant mis le boolééen à "False", dan sle cas de la non prise en compte de la modification:
Voici ce que j'ai fait depuis là:
'Enregistrer les valeurs
'Evenement Click sur le bouton enregistrer

Private Sub btnEnregistrer_Click()
Dim bouton

bouton = MsgBox("Etes vous sûr de vouloir enregistrer les modifications?" & vbCrLf & "(Les anciennes données seront écrasées !)", vbYesNo + 256 + vbExclamation, "Enregistrer les modifications")
'Si le bouton appuyé est 'OUI'
If bouton = vbYes Then
Dim index As Integer
index = getIndexLigne
'on effectue l'enregsitrement dans le fichier excel correspondant
EnregistrerDansXLS (index)
'on desactive le bouton enregistrer
btnEnregistrer.Enabled = False
'on sauvegarde les nouveaux champs
SauverChamps
' on indique qu'il y a aucune modification effectuée
boolModif = False

prendremodifEncompte = False

End If

End Sub



et pour le multipage:

'Evenement lors d'un changement de page dans les onglets Generaux
Private Sub MultiPageGeneral_Change()
Application.EnableEvents = False
If boolModif = True Then
btnEnregistrer_Click
End If
boolModif = False

Application.EnableEvents = True
If MultiPageGeneral.SelectedItem.index = 1 Then
InitialiserSynthese (2)
End If

End Sub



Je ne comprends pas pourquoi ca ne marche pas, Merci d'avance pour votre aide sur le forum!
Bonne journée
 

CBernardT

XLDnaute Barbatruc
Re : Bouton "Enregistrer"

Bonjour missaudrey,

Sans fichier de test, je vois deux choses à faire dans ces cas là :

1- Prendre le raisonnement inverse dans le code :

If bouton = vbNo Then boolModif = False: Exit Sub

2- Bien déclarer la variable boolModif en public dans un module normal.
 

CBernardT

XLDnaute Barbatruc
Re : Bouton "Enregistrer"

re,

Public est une Instruction utilisée au niveau module pour déclarer des variables publiques. Elles sont utilisables dans tous les modules. Elles conservent leur dernière valeur attribuée. Il faut les remettre à zéro en début d'une macro si cela est nécessaire.

Un extrait de ton fichier permettrait de mieux situer la difficulté.;)
 

Discussions similaires

Statistiques des forums

Discussions
312 685
Messages
2 090 947
Membres
104 705
dernier inscrit
Mike72