Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1381 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  acceder aux données sans ouvrir le fichier

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

acceder aux données sans ouvrir le fichier

n°907499
roma23
Posté le 25-11-2004 à 10:52:15  profilanswer
 

salut!
je souhaiterai acceder aux données d'une feuille excel sans ouvrir le fichier. j'ai essayé le code ci-dessous mais ça ne marche pas; il m'affiche une erreur. apparement le fichier s'ouvre en lecture seule. Si quelqu'un à une idée.......merci.
 
 
Function OpenFileExcel()  
 
Dim appXl As Excel.Application  
Set appXl = CreateObject("Excel.Application" )  
 
With appXl  
    .Workbooks.Open ("C:\Doc\NomFichier.xls" )  
    .Visible = False  
End With  
Dim i As Integer
Dim j As Integer
Dim k As Integer
 
i = 1
j = 0
k = 2
 
For i = 1 To 3
            Windows("Essais.xls" ).Activate
            toto = Range("B" & i).Select
            Selection.Cut
            toto = Selection
            Windows("menu.xls" ).Activate
            Range("B" & k).Activate
            ActiveCell.Offset(0, j).Select
            ActiveSheet.Paste
            j = j + 1
    Next i
End Function

mood
Publicité
Posté le 25-11-2004 à 10:52:15  profilanswer
 

n°908060
Profil sup​primé
Posté le 25-11-2004 à 22:36:00  answer
 

ta premiere partie de code est bonne, elle t'ouvre bien le fichier "NomFichier.xls"  
   
Dim appXl As Excel.Application  
Set appXl = CreateObject("Excel.Application" )  
   
With appXl  
    .Workbooks.Open ("C:\Doc\NomFichier.xls" )  
    .Visible = False  
End With  

 
Par contre dans la deuxieme partie, a aucun moment tu ne fait reference a ce fichier "NomFichier.xls" , pourquoi ?
 
et pour finir , avant de quitter la macro ,n'oublie pas de fermer ton fichier "NomFichier.xls" par un appXl.workbook("NomFichier.xls" ).close et par un Set AppXl=Nothing, sinon tu va te retrouver avec des quantités incontrolables d'instance "EXCEL.EXE" en mémoire, meme la macro terminée

n°908514
roma23
Posté le 26-11-2004 à 14:51:58  profilanswer
 

merci garg, t'avais raison, je pense que c'est la fatique. bref ma macro marche, je l'affiche si dessous au cas où elle pourrait interressé quelqu'un
(elle permet d'avoir accès aux données d'un classeur sans l'ouvrir; et d'enregistrer les modifs)
 
Function OpenFileExcel()
Dim appxl As Excel.Application
Dim fichier As Window
Dim feuille As Worksheet
Set appxl = CreateObject("Excel.application" )
Dim read As Variant
 
With appxl
    .Workbooks.Open "H:\macro\essais.xls"
    .Visible = False
End With
 
Dim i As Integer
Dim j As Integer
Dim k As Integer
 
i = 1
j = 0
k = 2
 
For i = 1 To 3
 
            Set fichier = appxl.Windows("essais.xls" )
            fichier.Activate
            Set feuille = appxl.Sheets("contrat" )
            feuille.Range("B" & i).Select
            feuille.Range("B" & i).Cut
            Windows("menu.xls" ).Activate
            Range("B" & k).Activate
            ActiveCell.Offset(0, j).Select
            ActiveSheet.Paste
            feuille.Range("B" & i).Clear
            j = j + 1
Next i
 
appxl.Workbooks("essais.xls" ).Save
appxl.Workbooks("essais.xls" ).Close
 
End Function

n°908625
Profil sup​primé
Posté le 26-11-2004 à 15:58:23  answer
 

+ Set appXl= Nothing
 
:D

n°2216198
eddybzh
Posté le 15-01-2014 à 15:56:16  profilanswer
 

Hello,
 
La meilleure façon pour récuperer les données d'un autre fichier Excel en VBA est d'ouvrir le fichier source (sans le rendre visible), recuperer les données et fermer le fichier source.
 
Le code sur le lien ci-dessous fonctionne parfaitement chez moi :
 
vba-useful.blogspot.fr/2013/12/how-do-i-retrieve-data-from-another.html
 
+

n°2216319
Marc L
Posté le 16-01-2014 à 13:26:52  profilanswer
 

 
           eddybzh, merci d'éviter de remonter un post vieux de 10 ans, surtout en répondant à côté ‼
 
           Pour en revenir à la question initiale, c'est à dire sans ouvrir le classeur, il y a deux méthodes.
 
           La première, la plus simple, n'a même pas besoin de VBA, une simple formule dans une cellule :
           un coller avec liaison, le B-A-BA de l'utilisation d'Excel ‼          Toujours penser aux bases …
 
           La seconde est d'utiliser une connection ADODB, un peu de lecture …  
           Et deux messages au-dessus, voir l'exemple par formule …


Message édité par Marc L le 16-01-2014 à 13:31:12

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  acceder aux données sans ouvrir le fichier

 

Sujets relatifs
Ouvrir un lien dans une fenetre séparé ? marche pas sous IEScript ouvrant fichier Excel partagé avec notification
Bouton "parcourir" pour aller chercher un fichierLire des données dans un programme (simulateur)
Type de données avec Access2000[ksh] contaténation de chaines pour accéder à une variable
[Delphi 7] comment telecharger un fichier ?explorateur de fichier
bouton pour ouvrir un .exePb pour ajouter des données a une base de donnée
Plus de sujets relatifs à : acceder aux données sans ouvrir le fichier


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR