Conserver valeur de variable en fin d´exécution de code

Bonjour,

Dans le cadre d´une petite programmation dans VBA excel que je suis en train de faire, je souhaiterais qu´en fin d´éxécution de mes codes une variable reste conservée et ceci même après fermeture du classeur excel. Ainsi quand j´ouvre le classeur cette variable détient la valeur qu´elle avait lors de la dernière utilisation du programme.

Je me suis rendu compte que la declaration: Static nom_de_variable As Type ne permet de conserver la dernière valeur de la variable que lorsque le classeur n´a pas été fermé. Lorsque je réouvre le classeur la variable s´initialise automatiquement a 0 :~).

Quelqu´un a-t-il une solution?

Merci beaucoup pour votre aide.

Bonjour andromedor,

Ne sachant pas si une solution à ton problème existe, voici une petite astuce. A la fin de tes codes, tu enregistres la variable dans une cellule excel. Ex :

range("A1") = variable

Si le classeur est enregistré, à la prochaine ouverture du classeur, tu récupères la valeur de la cellule A1 par un :

variable = range("A1")
12gmao-qassim.xlsm (70.06 Ko)

Bonjour,

une autre méthode pour conserver tes variables, même après fermeture de ton classeur, et sans utiliser de cellules d'un onglet.

Pour cela, tu insères un nom (Insertion/Nom/Définir), auquel tu lui donnes la valeur de ta variable :

exemple :

Sub sauvegarder_variable()
var1 = 1000
ActiveWorkbook.Names.Add Name:="mavariable", RefersToR1C1:="=" & var1
MsgBox [mavariable]
End Sub

Bonne journée

Merci bien pour vos réponses. Ce sont de bonnes astuces. Mais je préferai garder ma varible au niveau de la programmation pour qu´elle ne soit pas visible depuis le classeur (seulement visible dans le code). En plus j´ai l´impression que le fait de la garder comme vous me l´avez proposé posera des problèmes dans la manipulation... Je ne sais pas comment faire...

Rechercher des sujets similaires à "conserver valeur variable fin execution code"