Rechercher : dans
Par :

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

Dernière réponse le 1 sep 2008 à 10:42:37 saian-sugus, le 1 sep 2008 à 08:04:46 
 Signaler ce message aux modérateurs

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

1

lermite222, le 1 sep 2008 à 08:22:22

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+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas for­cément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

2

saian-sugus, le 1 sep 2008 à 08:52:08

Merci lermite.. j'ai bien pensé qu'il n'existait rien, mais quand même demander pour en être sur.. dommage :(

Bonne journée

Répondre à saian-sugus

3

michel_m, le 1 sep 2008 à 09:04:25

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. Cordialement
Michel

Répondre à michel_m

4

saian-sugus, le 1 sep 2008 à 09:08:16

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

Répondre à saian-sugus

5

michel_m, le 1 sep 2008 à 09:23:04

Re,

ci joint la démo:

http://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
Cordialement
Michel

Répondre à michel_m

7

saian-sugus, le 1 sep 2008 à 10:09:22

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

Répondre à saian-sugus

8

 saian-sugus, le 1 sep 2008 à 10:42:37

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

Répondre à saian-sugus

6

saian-sugus, le 1 sep 2008 à 10:05:33

Trouvé :) merci michel...

Répondre à saian-sugus
Collection CommentÇaMarche.net