Conserver variable en fin d´exécution du cod
Résolu/Fermé
A voir également:
- Conserver variable en fin d´exécution du cod
- Voici du code ascii : - Guide
- Fin du partage de compte disney + - Accueil - Streaming
- Cod mobilis ✓ - Forum telephonie fixe
- Erreur d'execution 1004 ✓ - Forum VB / VBA
8 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
15 janv. 2010 à 13:21
15 janv. 2010 à 13:21
Salut,
Peut être tout simplement en la "stockant" dans une cellule d'une feuille du classeur Excel, genre en EZ15900.
Peut être tout simplement en la "stockant" dans une cellule d'une feuille du classeur Excel, genre en EZ15900.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
19 janv. 2010 à 13:34
19 janv. 2010 à 13:34
non. C'est la seule que je connaisse.
Plusieurs pistes ici
Plusieurs pistes ici
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
20 janv. 2010 à 09:38
20 janv. 2010 à 09:38
Bonjour,
Je viens d'essayer la méthode utilisée dans le lien du post 3. Cela fonctionne très bien. Je te laisse ici les codes et un fichier exemple. Ce dernier ajoute 1 à la variable "stockée" à chaque ouverture du classeur et l'inscris en A1.
Code à inscrire dans un module :
Dans ton code de macro tu utilises la variable nommée :
Sources : MichDenis cf lien post 3
Fichier exemple :
http://www.cijoint.fr/cjlink.php?file=cj201001/cij8pdtK9x.xls
Je viens d'essayer la méthode utilisée dans le lien du post 3. Cela fonctionne très bien. Je te laisse ici les codes et un fichier exemple. Ce dernier ajoute 1 à la variable "stockée" à chaque ouverture du classeur et l'inscris en A1.
Code à inscrire dans un module :
Public Property Get MaVar() As Variant MaVar = [toto] End Property Public Property Let MaVar(ByVal vNewValue As Variant) ThisWorkbook.Names.Add "toto", Int(vNewValue), False End Property
Dans ton code de macro tu utilises la variable nommée :
MaVarcomme ceci par exemple :
Private Sub Workbook_Open() If ThisWorkbook.Path = "" Then MaVar = 1 Else MaVar = MaVar + 1 [A1] = MaVar End If End Sub
Sources : MichDenis cf lien post 3
Fichier exemple :
http://www.cijoint.fr/cjlink.php?file=cj201001/cij8pdtK9x.xls
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
20 janv. 2010 à 10:04
20 janv. 2010 à 10:04
il n'y a pas besoin d'écrire tout ce code pour enregistrer une valeur dans une cellule et la récupérer a l'ouverture
tu a juste a jouer avec l'évenement before close et open de thisworkbook en ayant déclaré dans un module public mavar as variant
dans before close tu met sheets("feuille de variable").range("A1").value=mavar
et dans l'évenement open tu met: mavar=sheets("feuille de variable").range("A1").value
si tu veu tu peu désactiver les messages d'alerte et mettre du code pour la sauvegarde automatique
tu a juste a jouer avec l'évenement before close et open de thisworkbook en ayant déclaré dans un module public mavar as variant
dans before close tu met sheets("feuille de variable").range("A1").value=mavar
et dans l'évenement open tu met: mavar=sheets("feuille de variable").range("A1").value
si tu veu tu peu désactiver les messages d'alerte et mettre du code pour la sauvegarde automatique
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
20 janv. 2010 à 10:46
20 janv. 2010 à 10:46
Salut garion,
Bien sur. Mais la question est de stocker une variable sans la placer dans une cellule... D'où le code.
Bien sur. Mais la question est de stocker une variable sans la placer dans une cellule... D'où le code.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
20 janv. 2010 à 10:48
20 janv. 2010 à 10:48
ah d'accord, mais ou es concervé la valeur alors ? dans une partie non accessible graphiquement du fichier ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
20 janv. 2010 à 10:57
20 janv. 2010 à 10:57
A priori, sauf erreur d'interprétation de ma part, dans un "nom" du classeur, nom qui est lui caché :
Public Property Let MaVar(ByVal vNewValue As Variant) ThisWorkbook.Names.Add "toto", Int(vNewValue), False End Property
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
20 janv. 2010 à 11:20
20 janv. 2010 à 11:20
mouais, pourquoi faire simple en utilisant sa tete quand on peu faire compliqué en utilisant l'aide de vba
19 janv. 2010 à 13:26