[VBA Excel] Mémoire qui tienne à l'enregistr.

saian-sugus Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
saian-sugus Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerai savoir s'il existe sur Excel, une manière de lui laisser une information, par le biais de VBA, qui restera sauvegardée malgré l'enregistrement du fichier et sa fermeture ?

... ou bien est-on obligé de rentrer notre donnée dans une cellule afin qu'Excel puisse la réutiliser?

Merci d'avance aux connaisseurs :)
A voir également:

4 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
... ou bien est-on obligé de rentrer notre donnée dans une cellule afin qu'Excel puisse la réutiliser?
J'ai bien peur que ce ne soit la seule solution valable, reste un fichier à part mais un peu tirer par les cheveux.
A+
-1
saian-sugus Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Merci lermite.. j'ai bien pensé qu'il n'existait rien, mais quand même demander pour en être sur.. dommage :(

Bonne journée
-1
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour Saian, lermite,

Saian, dommage de t'être précipité en cochant "résolu" sans attendre d'autres avis toujours possibles, surtout quand on te dit "pas sûr de moi" (on ne peut pas tout savoir: demain ce sera moi!)
cela est possible en utilisant la base de registre!
pour écrire, lire, effacer, on pêut utiliser cette clé: HKey_current_user/software / VB and VBA Program settings

si tu repasses dans le coin, fais signe, j'enverrais une démo.
-1
saian-sugus Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Salut michel,

Je suis repassé dans le coin et suis très impatient de voir ta démo car ce que tu viens de dire ne me parle pas énormement.

Merci d'avance
-1
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Re,

ci joint la démo:

https://www.cjoint.com/?jbjpuvxYsF

il s'agissait de compter et de montrer dans un userform le nombre de fois où on ouvrait le classeur, sans être obligé d'utiliser un fichier auxiliaire:

Option Explicit

Private Sub Workbook_Open()
Dim visit

     ' Lit la valeur dans la base de registre
     visit = GetSetting(appname:="demo", section:="visiteurs", key:="Nombre")
    
     ' Si aucune valeur n'est présente dans la base de registre ...
     If visit = "" Then
          'on affecte la valeur 1 à la variable visit (première visite)
          visit = 1
      Else
        ' sinon, on incrémente le Nbre de visites
    visit = visit + 1
    End If
     ' Ecrit la nouvelle valeur visit dans la base de registre
     SaveSetting appname:="demo", section:="visiteurs", key:="Nombre", setting:=visit

    ' indique le nombre de visites dans userform
    With visites
    .compteur.Caption = visit
    .Show
    End With
    
End Sub


A toi d'adapter à ton besoin
-1
saian-sugus Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Merci mais je ne comprend pas vraiment où aller pour rentrer dans la clé : HKey_current_user/software / VB and VBA Program settings

Que taper? où aller?

:s
-1
saian-sugus Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
A l'exécution de mon module, le programme me met

Erreur de compilation: argument non facultatif

pour SaveSetting, pourquoi?

chemin = ActiveWorkbook.FullName
SaveSetting appname:="Inscriptions", Key:="chemin", setting:=chemin
-1
saian-sugus Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
trouvé :) merci michel...
-1