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

nicosne
Messages postés
37
Date d'inscription
lundi 9 août 2004
Dernière intervention
10 mai 2005
- 28 déc. 2004 à 10:15 - Dernière réponse : nicosne
Messages postés
37
Date d'inscription
lundi 9 août 2004
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
gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Dernière intervention
11 juin 2007
- 28 déc. 2004 à 13:40
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

Merci gandalflegris007 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Dernière intervention
11 juin 2007
- 28 déc. 2004 à 10:20
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
nicosne
Messages postés
37
Date d'inscription
lundi 9 août 2004
Dernière intervention
10 mai 2005
- 28 déc. 2004 à 10:58
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
gandalflegris007
Messages postés
211
Date d'inscription
lundi 31 mars 2003
Dernière intervention
11 juin 2007
- 28 déc. 2004 à 11:08
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
philheiz
Messages postés
117
Date d'inscription
mercredi 3 décembre 2003
Dernière intervention
11 octobre 2007
- 28 déc. 2004 à 11:13
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.
nicosne
Messages postés
37
Date d'inscription
lundi 9 août 2004
Dernière intervention
10 mai 2005
- 28 déc. 2004 à 12:18
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
nicosne
Messages postés
37
Date d'inscription
lundi 9 août 2004
Dernière intervention
10 mai 2005
- 28 déc. 2004 à 16:22
0
Merci
un grand merci pour l'aide que j'ai recus

A+
NicoSne
:-p

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.