VBA, ouverture d'un fichier, qui ouvre un autre fichier

Bonjour j'ai un soucis de macro:

dans une première macro j'ouvre un fichier

Set cls = Workbooks.Open(chemin & fichier)

puis dans ce fichier j'ouvre un autre fichier

Set cls = nothing
Set cls = Workbooks.Open(chemin2 & fichier2)

et la mon fichier 2 ne s'ouvre pas :'(

le

Set cls = nothing

c'était un test pour savoir si le fait de "vider" cls ça aurai un impact positif ou non

HELP

Bonjour,

Tu n'as pas besoin de vider ta variable pour l'initialiser avec une autre référence. La nouvelle remplacera la précédente.

Ceci dit donne les informations utiles si tu veux avoir une réponse significative. Tu n'en donnes strictement aucune !

On ne sait comment la variable est déclarée, ni où elle est déclarée ?

On ne sait si tes 3 lignes de code se trouvent dans la même macro ou dans des procédures distinctes ?

On ne sait pas où se trouve cette procédure ? (ou ces si plusieurs...)

Et on ne sait de quel type de procédure il s'agit ?

Bonjour le fil, bonjour le forum,

Oeuf Corse (comme disent les poules d'Ajaccio) Maître Ferrand...

Et en utilisant deux variables distinctes, ça plante ou pas ?...

bonjour et merci oui en utilisant deux variable ca plante !

la variable je la déclare en début de macro

Dim cls As Workbook
  equipee = Range("G13").Value
  chemin = Range("G14").Value
  Set cls = Workbooks.Open(chemin & fichier)

dans une macro j'ouvre grace à la premiere ligne de code et quand je vide ma variable pour en déclarer une autre c'est un autre code.

c'est un simple module ranger dans le dossier module!

merci pour votre temps et désolée d'être aussi peu "complet"

Tu as tout à fait l'air de ne pas savoir ce que tu fais ! Et ne fournis aucune information sérieuse...

Alors...

Re,

Si tu veux garder la portée d'une variable dans différentes macros, il te faut la déclarée publique en haut d'un module standard :

Public cls As workbook

Tu peux la définir dans le code de la première macro :

Sub Macro1()
Dim equipee As String
Dim chemin As String

equipee = Range("G13").Value
chemin = Range("G14").Value
Set cls = Workbooks.Open(chemin & fichier)
End sub

Puis l'utiliser dans une autre macro :

Sub Macro2()
cls.Close
End sub

Que ces macros se trouvent dans le même module ou pas....

Merci pour votre temps et merci ThauThème c'est ce que je recherchais!

Re,

Ce sont les explications que te demandait de fournir M. FERRAND dans son premier post qui manquaient. Tu aurais eu une réponse bien plus rapidement avec...

Rechercher des sujets similaires à "vba ouverture fichier qui ouvre"