Récup de données dans fichier fermé

3idm

XLDnaute Nouveau
Bonjour à tous,

Encore un truc à vous soumettre à tous(tes).

J'ai bien cherché dans les différents fil, je n'ai pas encore trouvé ma solutions..

Voilà, dans un fichier nommé " ouvrir.xls", je souhaite récupérer des données se trouvant sur "laisser fermé.xls" et cela sans ouvrir ce fichier.
Je suis parvenu à le faire partiellement grâce au forum, mais la methode trouvée m'oblige à nommer les cellules une par une, et comme la liste des données situées dur "Laisser fermé.xls" n'est pas exaustive, cela me pose probléme.
Quelle est simplement la syntaxe pour emplacer le nom"source" par l'adresse de la cellule "F8" du fichier "Laisser fermé.xls" ????
Il y certainement des fonctions plus simple que je ne connais pas...... J'ai également essayé la fonction ADO, mais je ne comprend pas trop ! ! Voici mes 2 fichiers, et merci pour votre aide encore une fois.:(
 

Pièces jointes

  • Ouvrir.xls
    33.5 KB · Affichages: 68
  • Laisser fermé.xls
    15 KB · Affichages: 61

3idm

XLDnaute Nouveau
Re : Récup de données dans fichier fermé

:) Super ! :)
Merci à toi Bebere ainsi qu'à toi Kiki29, mon probléme est résolu grâce à vos infos. Tout est Ok, j'adapte vos exemples à mon application , mais à priori pas de bug !
Encore merci pour votre réactivité ;)
 

3idm

XLDnaute Nouveau
Re : Récup de données dans fichier fermé

Je reviens vous voir, car j'ai parlé trop vite lors de mon dernier message. En effet, le fichier fermé dont je veu récupérer les données, est un fichier .csv, et la fonction "Microsoft ActiveX Data Object 2.x Library" n'est n'est pas côcher dans ce fichier.

Comment faire ? As-tu une solution ? Ne pourrait-on pas écrire un code pour activer cette application dans ce fichier ?

Merci de votre aide encore sur ce coup !
 

MichelXld

XLDnaute Barbatruc
Re : Récup de données dans fichier fermé

bonsoir



En effet, le fichier fermé dont je veu récupérer les données, est un fichier .csv, et la fonction "Microsoft ActiveX Data Object 2.x Library" n'est n'est pas côcher dans ce fichier.

La référence doit être activée dans le classeur contenant la macro et non dans le fichier fermé.



Un exemple pour lire dans un fichier csv ou txt fermé:

Code:
Sub importFichierTexte_ADO()
    Dim Rc As ADODB.Recordset
    Dim Cn As String, Chemin As String, Fichier As String
    Dim i As Long
    
    Chemin = "C:\Documents and Settings\michel\dossier"
    Fichier = "monFichier.csv"
    
    Cn = "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
        "Dbq=" & Chemin & ";Extensions=asc,csv,tab,txt"
    
    Set Rc = New ADODB.Recordset
    Rc.Open Source:="SELECT * FROM " & Fichier, ActiveConnection:=Cn
    
    If Not Rc.EOF Then
        'For i = 0 To Rc.Fields.Count - 1 'recuperation entetes
            'Cells(1, 1).Offset(0, i) = Rc.Fields(i).Name
        'Next
        Range("A2").CopyFromRecordset Rc
    End If
    
    Rc.Close
End Sub



Bonne soirée
MichelXld
 

Discussions similaires

Réponses
2
Affichages
226

Statistiques des forums

Discussions
312 688
Messages
2 090 959
Membres
104 708
dernier inscrit
Mparzival