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

saian-sugus Messages postés 35 Statut Membre -  
saian-sugus Messages postés 35 Statut Membre -
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 :)
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. saian-sugus Messages postés 35 Statut Membre
       
      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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. saian-sugus Messages postés 35 Statut Membre
       
      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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. saian-sugus Messages postés 35 Statut Membre
       
      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
    2. saian-sugus Messages postés 35 Statut Membre
       
      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
  4. saian-sugus Messages postés 35 Statut Membre
     
    trouvé :) merci michel...
    -1