Workbooks.close ne marche pas???? [Résolu]

Messages postés
37
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
10 mai 2005
- - Dernière réponse : nicosne
Messages postés
37
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
10 mai 2005
- 28 déc. 2004 à 16:22
Slt,

j'ouvre un document excel :

workbooks.open NomDeLaVariablesCorrespondantAuFichierAOuvrirEtFermer

je pensais que pour le fermer, il me suffisait de remplacer open par close, logique.

workbooks.close NomDeLaVariablesCorrespondantAuFichierAOuvrirEtFermer

La j'ai une erreur de compilation : nombre d'arguments incorrect ou affectation de propriété incorrecte.

quelqu'un pourrais me dire pourquoi cette fonction ne marche pas et me dire comment faire pour qu'elle fonctionnent.

Merci,
NicoSne
:-p
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007
3
Merci
Le split a pour effet de te créer un tableau de chaines récupérant tous les éléments séparés par \ ==>
dim Tablo() as string

tablo = split(DossierImporte, "")

workbooks(tablo(ubound(tablo)).close 


Guich

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 223 internautes nous ont dit merci ce mois-ci

Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007
0
Merci
Salut nicosne,

perdu, vive la logique Microsoft.

C'est Workbooks("toto.xls").Close
idem si tu veux sauvegarder : Workbooks("toto.xls").Save

Guich
Messages postés
37
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
10 mai 2005
0
Merci
'deja merci pour le coup de main, mais il ne reste encore quelques inconnues pour comprendre la logique micro$oft.

'Pour fermer un classeur il faut donc faire:

Workbooks("toto.xls").Close

'Ok quand le nom est defini.

'Mais je declare une varriable pour selectionner le doc a ouvrir et fermer.

Public NomDeLaVariablesCorrespondantAuFichierAOuvrirEtFermer As String

'ensuite grace a une inputbox je lui donne le chemin d'accés au fichier.

DossierImporte = InputBox("indiquer le chemin d'accés du fichier a transformer")

'pour l'ouvrir je fais :

Workbooks.Open NomDeLaVariablesCorrespondantAuFichierAOuvrirEtFermer

'et pour la fermer je dois faire :

Workbooks(NomDeLaVariablesCorrespondantAuFichierAOuvrirEtFermer).Close

'et la on me dis que : l'indice n'appartient pas a la selection.

'Merci,
'NicoSne

:-p
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
11 juin 2007
0
Merci
NomDeLaVariable doit contenir le chmein complet je suppose, alors que Excel n'attend que le nom du classeur ==> il faut que tu découpes ta variable pour en extraire le nom du classeur : soit la méthode Split existe, soit tu cherches toutes les occurences de "" et tu prends ce qui est à la droite de la dernière.

Et ca devrait marcher

Guich
Messages postés
117
Date d'inscription
mercredi 3 décembre 2003
Statut
Membre
Dernière intervention
11 octobre 2007
1
0
Merci
pour ouvrir un fichier, tu as besoin du chemin d'acces complet ainsi que du nom du fichier (ex: c:\temp\dossier.xls)

une fois que ton fichier est ouvert (Workbooks.open("c:\temp\dossier.xls")), ton fichier n'est plus adressé que par son nom, soit dossier.xls.

donc, tu va fermer ton fichier par le biais de la commande close comme suit: workbooks("dossier.xls"). close

"l'indice n'appartient pas a la selection" signifie que le nom que tu as placé entre panenthèses n'est pas reconnu. c'est exactement ce qui arrive si tu balance le chemin d'acces dans la commande close.
Messages postés
37
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
10 mai 2005
0
Merci
Encore une petite question, je vais utiliser la fonction split :

Split(DossierImporte, "")

le probleme c'est que j'obtiens "C:" et non le nom du fichier.
Comment faire pour selectionner ce qui est a la fin a droite.
:-p
Messages postés
37
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
10 mai 2005
0
Merci
un grand merci pour l'aide que j'ai recus

A+
NicoSne
:-p