Problème de récupération de donnée dans classeur fermé

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 !

pedrofabien1986

XLDnaute Nouveau
Hello tout le monde.

Voilà comme le titre l'indique, j'ai des problèmes quand à la récupération de donnée dans un classeur fermé.

J'ai cherché partout sur le web des réponses sur des post existant mais je n'ai rien trouvé qui fonctionnait.

Ce que je veux faire c'est via un fonction, copier la valeur d'une cellule d'un classeur fermé et coller celle-ci dans la cellule activé.

Voici mon
Code:
Function extractionValeurCelluleClasseurFerme$()
    Dim Source As ADODB.Connection
    Dim Rst As ADODB.Recordset
    Dim ADOCommand As ADODB.Command
    Dim Fichier As String, Cellule As String, Feuille As String
    
    'Adresse de la cellule contenant la donnée à récupérer
    Cellule = "D6:D6"
      'Pour une plage de cellules, utilisez:
      'Cellule = "A4:C10"
      
    Feuille = "Informations Diverses$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
    'Chemin complet du classeur fermé
    Fichier = "N:\Projets en cours\1301001 Villa Fabien à Minergie\1301001 Villa Fabien à Minergie-Checkliste.xlsm"
    
    Set Source = New ADODB.Connection
    Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
                
    Set ADOCommand = New ADODB.Command
    With ADOCommand
        .ActiveConnection = Source
        .CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
    End With
                  
    Set Rst = New ADODB.Recordset
    Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
                  
    Set Rst = Source.Execute("[" & Feuille & Cellule & "]")
     
    'Ecrit le résultat de la requête dans la cellule A2
    Range("J45").CopyFromRecordset Rst
            
    Rst.Close
    Source.Close
    Set Source = Nothing
    Set Rst = Nothing
    Set ADOCommand = Nothing
    
End Function

Je travail avec la version 2007 de excel.

Merci d'avance de vos réponses.
 
- 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

Réponses
9
Affichages
580
Réponses
3
Affichages
582
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Retour