Une variable qui varie........

Troudz

XLDnaute Occasionnel
Bonjour,

Une question surement très bête mais pour laquelle je n'arrive pas à trouver de solution (pourtant j'ai beaucoup cherché sur les forums).

On peut désigner un userform par :
Code:
Userform1.show
ou par :
Code:
Userform(Userform1).show

et bien je voudrais savoir s'il est possible de faire pareil avec une variable. J'ai essayé des trucs du genre Variable(MaVariable) ou Var(MaVariable) mais rien ne marche.

Qqun aurait une idée ?

Merci
 

CBernardT

XLDnaute Barbatruc
Re : Une variable qui varie........

Re,

C'est le même, le post semblait ne pas avoir été pris en compte ?
 

Pièces jointes

  • CataVoiture.xls
    45.5 KB · Affichages: 39
  • CataVoiture.xls
    45.5 KB · Affichages: 37
  • CataVoiture.xls
    45.5 KB · Affichages: 39
Dernière édition:

Troudz

XLDnaute Occasionnel
Re : Une variable qui varie........

Merci Bernard pour tes solutions.

De mon coté, j'ai boss dur et j'ai fini par trouver une solution équivalente. Un problème subsite : Il ne faut que les données soient enregistrée dans la feuille qu'à la sortie du userform.

La logique voudrait donc qu'à chaque changement dans le combo :
- Avant le changement, on enregistre les valeurs
- Après le changement, on charge les valeurs selon la nouvelle valeur du Combo.

Mon problème est que les évenements BeforeUpdate et AfterUpdate du Combobox semblent un peu particulier. On dirait qu'ils ne se déclenchent pas vraiment au changement de choix mais plutôt à la sortie du combo.

Qu'en pensez vous ?

Edit : Je ne peux pas non plus me servir de l'évenement change puisque qu'il intervient après la mise à jour du combo
 
Dernière édition:

CBernardT

XLDnaute Barbatruc
Re : Une variable qui varie........

Re,

As-tu essayé avec les évènements Enter et Exit qui se produisent avant qu'un contrôle ne reçoive réellement le focus ou immédiatement avant qu'un contrôle ne perde le focus.

Dans ce cas, utiliser un tableau avec l'instruction Public afin qu'il garde ses valeurs jusqu'à la prochaine sauvegarde :
Public TabSauvegarde(1 To 5, 1). A mettre dans un module ordinaire

Exemple de syntaxe :

Private Sub ComboBox1_Enter()
' Sauvegarde du combobox à l'entrée
TabSauvegarde(1, 1) = ComboBox1
'Sauvegarde des textbox à l'entrée
For i = 2 To 4
TabSauvegarde(i, 1) = Controls("Textbox" & i - 1)
Next i
End Sub
 
Dernière édition:

Troudz

XLDnaute Occasionnel
Re : Une variable qui varie........

Merci Bernard mais j'y avais déjà pensé mais ça risque de ne pas marcher à tous les coups (je me suis torturé l'esprit pour trouver des cas foireux que j'aurai du mal à décrire ici).

J'ai cependant trouver une autre solution qui consiste à :
- mémoriser la valeur du Combo dans un variable appelée AncienneValeurCombo
- lors de l'évenement Change_Combo:
1) Enregistrer (dans ma variable tableau) la valeur des textbox et de AncienneValeurCombo (donc sans tenir compte de la nouvelle valeur du Combo)
2) Mettre à jour la valeur de AncienneValeurCombo
3) Charger les textbox avec la nouvelle valeur du Combo

Pour ceux que la discution intéresserait, je vous un fichier "définitif" qui doit en principe fonctionner. Merci de faire remarquer les éventuels bugs que vous pourriez détecter.

Je vous remercie pour la préciseuse aide que vous m'avez apporté et je vous souhaite à tous d'excellentes fêtes de fin d'année !

Edit : Il me reste quand même à trouver maintenant, comment ajouter et supprimer une voiture !
 

Pièces jointes

  • Exemple.zip
    19.6 KB · Affichages: 22
  • Exemple.zip
    19.6 KB · Affichages: 21
  • Exemple.zip
    19.6 KB · Affichages: 19
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 966
Messages
2 094 025
Membres
105 918
dernier inscrit
abdeldjalil.chekrouni