Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/02/2010, 11h32   #1 (permalink)
Invité régulier
 
Date d'inscription: décembre 2008
Messages: 16
Par défaut programmer bouton reset

Tout d'abord, bonjour à tous les forumeurs.

Je fais appel à vos connaissances car je n'ai pas encore trouvé de solution sur le web.

Je souhaiterai savoir si vous sauriez comment programmer sous VBA excel ce que fait le bouton "reset" (le petit carré). En effet, je souhaiterai que mon propgramme fasse automatiquement ce que fait le bouton reset sans aller appuyer manuellemnt dessus.

Merci pour votre aide
Benjijmin est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/02/2010, 15h04   #2 (permalink)
Membre Expert
 
Avatar de Fvandermeulen
 
Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
Par défaut

Salut,
Je sais pas si je suis le seul mais je vois pas du tout de quoi tu parle...du coup, difficile de t'aider
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/02/2010, 16h21   #3 (permalink)
Invité régulier
 
Date d'inscription: décembre 2008
Messages: 16
Par défaut

Bonjour,
tout d'abord merci de te pencher sur mon probleme.
En fait, dans VBAxl, il y a un bouton reset (cf picture). Lorsque l'on clic (manuellement) sur ce bouton, toutes les variables ainsi que les dll liberent la memoire. Je suis donc interssé par la programmation de ce bouton pour liberer les dll (que j'appelle depuis VBAxl) de la memoire. Je n'est pas trouver d'autre moyen de liberer mes dll de la memoire que de cliquer manuellemnt sur le bouton reset. (j'ai bien essayé des FreeLibrary mais seul le bouton reset permet de reellement liberer ma dll de la memoire)

Merci pour votre aide
Benjijmin est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/02/2010, 16h35   #4 (permalink)
Invité régulier
 
Date d'inscription: décembre 2008
Messages: 16
Par défaut

C'est mieu avec la pj
Images attachées
Type de fichier : jpg reset VBAxl.jpg (29,3 Ko, 6 affichages)
Benjijmin est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/02/2010, 17h06   #5 (permalink)
Membre Expert
 
Avatar de Fvandermeulen
 
Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
Par défaut

Haa OK...je comprends ce que tu veux dire...

Mais, tu dis appeler les DLL, comment t'y prend tu ?

En tout cas voici le principe pour les objets
Code :
Set x = ...
Avant la fin de la procédure, pour libérer, tu écris
Code :
Set x = nothing
A+
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/02/2010, 19h50   #6 (permalink)
Invité régulier
 
Date d'inscription: décembre 2008
Messages: 16
Par défaut

Citation:
Envoyé par Fvandermeulen Voir le message
Haa OK...je comprends ce que tu veux dire...

Mais, tu dis appeler les DLL, comment t'y prend tu ?

En tout cas voici le principe pour les objets
Code :
Set x = ...
Avant la fin de la procédure, pour libérer, tu écris
Code :
Set x = nothing
A+
Merci pour ton aide, mais d'apres ce que j'ai lu sur l'instruction "nothing", elle fait reference à un objet excel. Or une dll n'est pas un objet excel. Je vais tout de meme essayer au cas où?
Si vous avez d'autres idées, elles sont les bienvenues.
Merci encore
Benjijmin est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 09h52   #7 (permalink)
Membre Expert
 
Avatar de Fvandermeulen
 
Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
Par défaut

Salut,
C'est bien ce que je dis, c'est le principe pour les objets, mais comme je ne sait pas ce que tu fais de tes DLL (serait-ce pour les références?), je suis obligé de supposer.

As-tu un bout de code à nous montrer ?

A+
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 11h44   #8 (permalink)
Invité régulier
 
Date d'inscription: décembre 2008
Messages: 16
Par défaut

Citation:
Envoyé par Fvandermeulen Voir le message
Salut,
C'est bien ce que je dis, c'est le principe pour les objets, mais comme je ne sait pas ce que tu fais de tes DLL (serait-ce pour les références?), je suis obligé de supposer.

As-tu un bout de code à nous montrer ?

A+
Oui bien sur, voici un bout de code simplifier du principe de ma routine VBA appelant une routine ecrite en fortran presente dans ma dll nommée "Thermique":

'################################################
Public Declare Sub SCALE Lib "Thermique" (Var1 As Single, Var2 As Single, Var3 As Single, Var4 As Single, Var5 As Single)

Sub MaRoutine

Var1 = 1: Var2=2: Var3 = 3: Var4 = 4: Var5 = 5
.....
..........
..............
Call SCALE(Var1, Var2, Var3, Var4, Var5)
......
............
.................Etc.


End Sub
'#################################################

Voila. Comment decharger ma dll nommée "Thermique" de ma memoire juste avant le EndSub, car malgré ce "End Sub", j'ai vu à l'aide de process explorer que ma dll reste chargée. La seule solution trouvée pour dechargé ma dll est ce bouton "reset". Je ne trouve pas d'instruction VBA. MERCI DE M'ECLAIRER

Benjijmin
Benjijmin est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 13h21   #9 (permalink)
Rédacteur/Modérateur
 
Avatar de Arkham46
 
Date d'inscription: septembre 2003
Localisation: Orléans
Messages: 3 203
Par défaut

bjr

pour stopper l'exécution comme avec le petit carré ça doit être l'instruction End
mais c'est pas franchement terrible, ça réinitialise tout et ça vider les objets ouverts sans passer par les procédures Unload, QueryUnload, ou Terminate

sinon pour libérer une dll, essaye l'API FreeLibrary
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 08h22.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.