Copie depuis un classeur fermer

Multhani

XLDnaute Nouveau
Bonjour,

Je reviens vers vous car j'ai de nouveau un problème, je souhaite récupérer des données depuis un classeur fermé, j'ai réussi a récupérer les données (texte) du classeur fermer mais je souhiaterais également récupérer la mise en forme et les commentaires. Je ne suis pas sûr que ce soit possible, merci de me dire si cela est possible et si oui comment dois-je modifier mon code.

Code:
Sub RequeteClasseurFerme1()
    Dim Cn As ADODB.Connection
    Dim fichier As String
    Dim NomFeuille As String, texte_SQL As String
    Dim Rst As ADODB.Recordset
    Dim conn As Object
    
    'Définit le classeur fermé servant de base de données
    fichier = Sheets("données").Cells(2, 2).Value & "\" & Sheets("données").Cells(2, 3).Value
    'Nom de la feuille dans le classeur fermé
    NomFeuille = "7$"
    
    cellule = "B4:H19"
    
    Set Cn = New ADODB.Connection
    
    '--- Connection ---
    connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & fichier & _
    "';Extended Properties='Excel 12.0;HDR=NO;IMEX=1';"
    Cn.Open connstring
    '-----------------
    
    'Définit la requête.
    '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
    texte_SQL = "SELECT * FROM [" & NomFeuille & cellule & "]"
        
    Set Rst = New ADODB.Recordset
    Rst.Open texte_SQL, Cn
    'Set Rst = Cn.Execute(texte_SQL)
    
    'Ecrit le résultat de la requête dans la cellule A2
    Range("B4").CopyFromRecordset Rst
    
    '--- Fermeture connexion ---
    Cn.Close
    Set Cn = Nothing

End Sub
 

Lone-wolf

XLDnaute Barbatruc
Re : Copie depuis un classeur fermer

Re,


Code:
Sub Importer()
Dim Chemin As String, Fichier As String

    Chemin = ThisWorkbook.Path & "\"
    Fichier = "Formules.xls"

  Application.ScreenUpdating = False
  
  On Error Resume Next
    With Workbooks.Open(Chemin & Fichier)
       Range("A1:N30").Copy ThisWorkbook.ActiveSheet.Range("A1")
       With ThisWorkbook.ActiveSheet
       .Range("A1:L30").Columns.AutoFit
       End With
       .Close savechanges:=False
       Application.Goto ActiveSheet.Range("A1")
    End With
End Sub



A+ :cool:
 
Dernière édition:

Multhani

XLDnaute Nouveau
Re : Copie depuis un classeur fermer

Salut, merci pour ta réponse, mais si je comprend bien ton code, tu ouvre un fichier, tu copie les données, sa je sais le faire, ce que je veux c'est copier l'environnement d'une cellule (cells(x,y).interior.color) et (cells(x,y).comment) mais sans ouvrir le fichier source. Je pourrais mettre un fichier mais pas sûr que ce soit très utile. Si tu veux je m'enverrais demain.

Je pense que c'est possible de le faire avec un objet ADO puisqu'il est possible de copier une feuille entière...
 

Lone-wolf

XLDnaute Barbatruc
Re : Copie depuis un classeur fermer

Bonjour Multhani,

Tout ce qui est format, mise en forme des cellules, shapes et autres... ADO n'aime pas les avoir sur le DOS. MsgBox "DONT NOT POSSIBLE! I DONT LIKE, SORRY. PLEASE CALL MICROSOFT AND CRY HELP. TANK YOU.", , "MIMI"


A+ :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 438
Membres
103 209
dernier inscrit
MIKA33260