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

Ouvrir et fermer un fichier .xls via macro

  • Initiateur de la discussion Initiateur de la discussion dolphin
  • 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 !

dolphin

XLDnaute Occasionnel
Bonsoir forum,


J'aimerais savoir comment ouvrir un fichier .xls afin d'aller récupérer une donnée dans la cellule A1. De plus j'aimerais savoir comment fermer se fichier via la même macro ... Je ne désire pas que l'utilisateur intervient dans ce processus.


Je vous remercie à l'avance de toute votre aide ainsi que vos suggestion....

Dolphin

😉
 
Salut Dolphin

Sans ouvrir le classeur

Sub test()
Dim fich$, feuil$, Cell As Range
fich = 'C:\\NomDuFichier.xls'
feuil = 'NomDeLaFeuille'
Set Cell = Range('A1')

MsgBox GetValueWithADO(fich, feuil, Cell)

End Sub
 
Bonsoir Myta, Bonsoir Forum,


J'aimerais savoir que signifie le signe $ a coté de tes variables ?

J'aimerais savoir si c'est aussi possible d'aller changer la valeur inscrit dans le fichier ? Je ne ssais pas si c,est possible d'o;u la raison que je voulais savoir comment faire un open et un close d'un fichier afin de lire le contenu de la cellule, le changer et aussi fermer le fichier en sauvegardeant la dernière modification.


J'attends de vos nouvelles et merci encore ...

Dolphin
 
Salut Dolphin, Mytå, le Forum,

$ est le caractère de déclaration du type String

je te joint un petit fichier texte qui t'explique les differents type de variables et leur definitions

Arf!!! pas passé :huh: [file name=Definition_variable.zip size=1029]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Definition_variable.zip[/file]

Message édité par: dull, à: 07/05/2006 06:31

PS: Mytå Ton proverbe me fait bien rire c'est aussi la devise de mon service à la seule difference que je n'ai que 48 heures ...pour les miracles

Message édité par: dull, à: 07/05/2006 06:34
 

Pièces jointes

bonjour Dolphin , bonjour Dull , bonjour cher Myta

Myta , tu as oublié de donner la fonction GetValueWithADO dans ton message

Ce site n'existe plus



un exemple pour ecrire dans la cellule A1 d'un classeur fermé

Sub Test()
'necessite d'activer la reference Microsoft ActiveX DataObjects x.x Library
Dim Cn As ADODB.Connection
Dim Cd As ADODB.Command
Dim Rst As ADODB.Recordset
Dim Fichier As String

Fichier = 'C:\\\\\\\\leClasseur.xls'

Set Cn = New ADODB.Connection
Cn.Open 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
'Data Source=' & Fichier & ';' & _
'Extended Properties=''Excel 8.0;HDR=No;'';'

Set Cd = New ADODB.Command
Cd.ActiveConnection = Cn
Cd.CommandText = 'SELECT * from `Feuil1$A1:A1`'

Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic

Rst(0).Value = ' la Donnée à inserer'
Rst.Update

Rst.Close
Set Rst = Nothing
Set Cd = Nothing
Cn.Close
Set Cn = Nothing

MsgBox 'opération terminée '
End Sub




et plus classique : ouvrir le classeur pour ecrire dans la cellule A1 de la Feuil1


Sub Test_V02()
Dim WB As Workbook

Application.ScreenUpdating = False

Set WB = Workbooks.Open('C:\\\\\\\\leClasseur.xls')

WB.Sheets('Feuil1').Range('A1') = 'la nouvelle donnée'
WB.Close True

Application.ScreenUpdating = True
End Sub




en complément des infos données par Dull , je te joint un fichier au sujet des variables


bonne journée
MichelXld

Message édité par: michelxld, à: 07/05/2006 06:40
 
Bonjour

Je profite de ce fil pour poser une question :
y a t'il un intérêt à lire les données sans ouvrir le fichier ?

J'ai fait une application récement qui ouvre un à un tous les fichiers d'un dossier pour y picorer une dizaine de cellules et en mettre les valeurs dans un autre classeurs.
Cela marche très bien mais peut-être que faire la même chose sans ouvrir les fichiers a un avantage.

Merci d'éclairer ma lanterne.

Bon dimanche.

Message édité par: chris, à: 07/05/2006 11:53
 
bonjour chère Chris

Travailler sur des classeurs fermés permet un gain de temps lorsque le traitement doit etre effectué sur plusieurs fichiers en série.
Bien sur, pour un seul classeur le gain est minime .

Lorsque que le classeur fermé est utilisé comme une base de données (de la meme maniere qu'Access) les requetes ADO deviennent interessantes (en gain de temps) si le nombre de lignes est conséquent .
Encore une fois , si l'opération est effectuée une fois par semaine, travailler sur un classeur fermé à moins d'interet.


bonne journée
MichelXld
 
Bonjour Michel et merci.
Dans mon cas, je ne prend qu'une cellule ici et là donc loin du style requête.
Mais j'ouvre et referme jusqu'à 19 classeurs.
Il faudra que je fasse une version classeurs fermés pour mesurer le gain de temps.
Cette technique pourra peut-être me servir à l'avenir.
@ bientôt
 
Bonjour Chris, Michel, Dull, le Fil, le Forum


Pour Chris, une démo interressante avec les Participations des ADOs de Service, the Michel's Gang !!! lol

Lien supprimé

Voir aussi le fil, bourré d'explications :

Lien supprimé (où Sylvie nous avait fait faire un truc assez géant 😉

Bon Dimanche
[ol]@+Thierry[/ol]
 
Bonjour Thierry, bonjour chris, bonjour Forum,


En utilisant une commande ADO, je ne peux changer la valeur inscrite dans un fichier fermé?

Voici ma problèmatique : Je dois avoir une fichier qui ne doit pas changer de nom. Dans ce fichier, il contiendra seulement une valeur ( elle répresente la dernière valeur attribuée pour un numéro de contrat ). Une fois que j'ai été chercher cette valeur et que l'utilisateur doit affecter un # de contrat je dois le changer.

Présentement j'utilisais un fichier 'bidon' sous forme .txt. le nom de ce fichier est le dernier numéro de contrat. Lorsqu'il y a affectation d'un nouveau #, j'effectue un rename de ce fichier. Cette façon de faire fonctionne très bien par contre pour ceux qui utilise des portable et qui ne sont pas connecter au réseau me cause des problèmes énormément. Je dois changer ma programmation afin que le nom du fichier ne change pas mais seulement le contenu.

Si vous avez des suggestions je vous remercie à l'avance ....


Bonne journée 🙂

dolphin
 
- 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

Discussions similaires

A
Réponses
16
Affichages
3 K
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…