Sélectionner un fichier excel puis le fermer

jbpubli6t Messages postés 1 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 20 novembre 2003 - 20 nov. 2003 à 17:57
cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 - 24 nov. 2003 à 06:44
bonjour,

je suis un simple amateur qui aimerait l'aide d'un gentil programmateur.

J'aimerais un code à insérer dans une macro excel qui me permettra de fermer un fichier excel que j'ouvre temporairement dans la même macro.

Avec l'enregistreur de macro, j'obtiens ce programme :
'Fermeture du fichier temporaire
'activer le fichier à fermer
Windows("fichier.txt").Activate
'fermer le fichier sans sauvegarder
ActiveWindow.Close False
Range("A1").Select

L'ennui est le suivant, j'ouvre le fichier temporaire à l'aide d'une boite de dialogue dont voici le code :
'liste des fichiers
Finfo = "Fichier texte (*.txt),*.txt," & _
"Fichier word (*.Doc),*.Doc," & _
"tous les fichiers (*.*),*.*"
'afficher *.* par defaut
Filtredefault = 5

'titre de la boite de dialogue
Titre = "Selectionnez le fichier à importer"

'obtenir le chemin d'acces
nomfichier = Application.GetOpenFilename(Finfo, Filtredefaut, Titre)

Voilà donc le problème, suivant le fichier que j'ouvre avec la boite de dialogue, le nom du fichier à fermer est différent. Le nom du fichier est donc dans la variable "nomfichier"...

... mais voilà, je suis nul, je ne sais pas comment dire de sélectionner le fichier dont le nom se trouve dans la variable "nomfichier".

Merci de votre aide.

Au fait, juste au cas ou quelqu'un me trouve une solution, j'ai un autre petit problème.
Une fois le bon fichier sélectionné et clos, j'ai réussi à zapper le message de sauvegarde (ouf), mais j'ai ensuite le sympathique message suivant (pas génant mais c'est pas joli) : "le presse papier contient une grande quantité d'information etc.. pour les supprimer cliquez sur non".
Comment ne plus avoir ce message.

merci d'avance.

2 réponses

cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
23 nov. 2003 à 10:21
Essaye ceci :

Windows(Mid(nomfichier, InStrRev(nomfichier, "") + 1)).Activate
ActiveWindow.Close False

Slts

wape
0
cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
24 nov. 2003 à 06:44
Ou plus simplement :

Windows(Dir(nomfichier)).Activate
ActiveWindow.Close False

Slts

wape
0
Rejoignez-nous