Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Association d'une variable VBA à un fichier

  • Initiateur de la discussion Initiateur de la discussion JFLord
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JFLord

Guest
J'ai le code suivant pour associer une variable à un fichier et il doit ouvrir le fichier (s'il ne l'est pas) lorsque la variable est appelée.

Set estimespec1 = Workbooks("Calcul P&L Hedge_SPEC1.xls")
If estimespec1 Is Nothing Then
Workbook.Open ("L:\RiskMetrics\Post_Operation\Estimé P&L\Calcul P&L Hedge_SPEC1.xls")
End If


Ca me donne un run time error 9 (script out of range).

Quelqu'un peut m'aider
 
Dernière modification par un modérateur:
Re : Association d'une variable VBA à un fichier

bonsoir,

voir CreateObject et GetObject pour associer un fichier à une variable.
Je vous conseille vivement de lire l'aide Excel à ce sujet


en gros:

dim estimespec1 as workbook
set estimespec1=createobject ("L:\RiskMetrics\Post_Operation\Estimé P&L\Calcul P&L Hedge_SPEC1.xls")

Quelques subtilités entre getobject et createobject que je ne maitrise pas complètement. GetObject sert quand l'object est ouvert et createobject qu'il soit ouvert ou fermé. (j'ai essayé de résumer)

cdt

smotty
 
Re : Association d'une variable VBA à un fichier

Bonjour JFLord, smotty

modifie peut être ton code ainsi :

Code:
Sub test()
Dim estimespec1 As Workbook
On Error Resume Next
Set estimespec1 = Workbooks("Calcul P&L Hedge_SPEC1.xls")
On Error GoTo 0
If Not estimespec1 Is Nothing Then
    Workbooks.Open ("L:\RiskMetrics\Post_Operation\Estimé P&L\Calcul P&L Hedge_SPEC1.xls")
End If
End Sub

bonne journée
@+
 
Re : Association d'une variable VBA à un fichier

Merci ca ressemble plus à ce que je cherchais...

par contre, ca me donne encore un run time error 424 «object required» et j'ai utilisé exactement la même structure. Il doit avoir quelque chose que je n'ai pas «catché».
 
Re : Association d'une variable VBA à un fichier

Bonjour JFLord, smotty, Pierrot,

Je crois que Pierrot a mis un Not de trop...

Code:
Sub test()
Dim estimespec1 As Workbook
On Error Resume Next
Set estimespec1 = Workbooks("Calcul P&L Hedge_SPEC1.xls")
On Error GoTo 0
If estimespec1 Is Nothing Then
    Workbooks.Open ("L:\RiskMetrics\Post_Operation\Estimé P&L\Calcul P&L Hedge_SPEC1.xls")
End If
End Sub
 
Re : Association d'une variable VBA à un fichier

Non ca fait exactement la même erreure... J'ai aussi essayé

If estimespec1 Is empty Then

et ca fait aussi la même erreur 424 object required
 
Re : Association d'une variable VBA à un fichier

Re, bonsoir toto

oui toto a raison, le "not" est en trop, le code ci dessous fonctionne chez moi, le classeur est dans le répertoire courant... :

Code:
Sub test()
Dim estimespec1 As Workbook
On Error Resume Next
Set estimespec1 = Workbooks("classeur1.xls")
On Error GoTo 0
If estimespec1 Is Nothing Then
    Workbooks.Open ("classeur1.xls")
End If
End Sub

vérifie le nom et le chemin complet de ton fichier....

bonne soirée
@+
 
Re : Association d'une variable VBA à un fichier

Merci la ca fonctionne à merveille!

Mais j'ai une autre interrogation...

si jamais, dans mon code, je dois fermer le fichier et le réouvrir pas mal plus loin. il y a un moyen d'appeler la variable pour ouvrir le fichier sans avoir à tout réécrire le code
 
Re : Association d'une variable VBA à un fichier

Bonjour,

pour le fermer cela fonctionerait ainsi :
Code:
estimespec1.Close
A la condition, bien sur que ton classeur était ouvert avant.... par contre pour le réouvrir après fermeture, ta variable sera vide.

@+
 
Re : Association d'une variable VBA à un fichier

la partie pour fermer le fichier je la connaissais mais merci quand meme

sachant maintenant que le fait de fermer le fichier annule mes variables, je vais procéder autrement

merci encore
 
Re : Association d'une variable VBA à un fichier

Bonsoir,

ce qui nous ramène à CreateObject, voir mon message précédent:

dim estimespec1 as workbook
set estimespec1=createobject ("L:\RiskMetrics\Post_Operation\Estimé P&L\Calcul P&L Hedge_SPEC1.xls")

Je l'utilise souvent dans mes programmes. Ainsi on manipule les fichiers comme on veut (Excel, Word, ou autres)

cdt

smotty
 
Re : Association d'une variable VBA à un fichier

Bonjour,

Avec "createobject", lors de l'initialisation de la variable, si le classeur n'est pas ouvert, il s'ouvrira mais dans une fenêtre masquée... Tu pourras le fermer avec l'instruction "close", par contre ta variable sera également déchargée et pour le réouvrir il te faudra à nouveau passer par la fonction "createobject", mais bon cela peut être un bon compromis... Tout dépend de ton projet...

bonne journée
@+
 
Re : Association d'une variable VBA à un fichier

Bonjour à tous,

Juste pour compléter le raisonnement, la bonne question, est-il bien utile de fermer le fichier si celui-ci n'apparait pas? Le fermer uniquement à la fin du traitement peut être une solution...🙄
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
13
Affichages
2 K
Stedemart
S
S
Réponses
11
Affichages
10 K
T
Réponses
4
Affichages
1 K
traputaca
T
D
Réponses
5
Affichages
1 K
djkrom2003
D
W
Réponses
0
Affichages
4 K
Whivez
W
F
Réponses
0
Affichages
1 K
FredJ
F
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…