Insertion données d'un classeur Excel dans un autre Tableur

Bonjour à tous,

J'exporte un fichier de données Excel à 3 colonnes avec REVIT (logiciel de modelisation), je souhaiterais récupérer ces valeurs dans ma feuille de calculs Excel.

Existe-il une façon de le faire avec les macro depuis un userform ?

J'ai besoin d'aller chercher le dossier et de l’insérer à partir de la cellule A154.

Je n'arrive pas à trouver mon bonheur sur d'autres discussions.

Merci d'avance pour vos réponses.

Cdl

Bonjour,

si vous connaissez le répertoire, le nom du fichier et le nom de l'onglet

vous pouvez utiliser cette function.

'nécessite d'activer la référence: Microsoft ActiveX Data Objects xx Library
Function LireCellule(repertoire As String, fichier As String, feuille As String)
  Set cnn = New ADODB.Connection

'--- Connexion ---
With cnn
        .Provider = "Microsoft.Jet.OLEDB.12.0"
        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
           & repertoire & "\" & fichier & ";Extended Properties=""Excel 12.0;HDR=NO;"""
       .Open
 End With

'--- récupérer les données --
 Set rs = cnn.Execute("SELECT * FROM [" & feuille & "$" & cellule & "]")
  Cells(1, 1).CopyFromRecordset rs  'Adapter la cellule de destination

  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing
End Function

Merci SabV,

Je n'arrive pas a aller récupérer le dossier. Est ce la bonne syntaxe ? (voir code)

Comment tu démarres la macro ? Une fonction peut se démarrer comme un bouton macro classique ?

'nécessite d'activer la référence: Microsoft ActiveX Data Objects xx Library
Function LireCellule(repertoire As String, fichier As String, feuille As String)
  Set cnn = New ADODB.Connection

'--- Connexion ---
With cnn
        .Provider = "Microsoft.Jet.OLEDB.12.0"
        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
           & "C:"\"Users"\"stgbim"\"Desktop"\"Liste_Zones_Niveaux.xlsx";Extended Properties=""Excel 12.0;HDR=NO;"""
       .Open
 End With

'--- récupérer les données --
Set rs = cnn.Execute("SELECT * FROM [" & feuille & "1" & cellule & "1")
  Cells(155, 1).CopyFromRecordset rs  'Adapter la cellule de destination

  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing

End Function

Merci beaucoup.

Bonjour,

voici un exemple plus concret,

adapter les valeurs des variables Fich, rep, FeuilSource et Feuil_cellule_destination de la macro test

et exécuter cette macro "test"

Sub test()
Dim Fich As String, rep As String, FeuilSource As String, Feuil_cellule_destination As String
rep = "C:\Users\isabelle\Documents\" 'à adapter
Fich = "List_test.xlsm" 'à adapter
FeuilSource = "Sheet1" 'à adapter nom de l'onglet du classeur fermé
Feuil_cellule_destination = "Feuil2!D5" 'à adapter nom de l'onglet et adresse de la cellule ou seront coller les données

LireCellule rep, Fich, FeuilSource, Feuil_cellule_destination 'à adapter
End Sub

'nécessite d'activer la référence: Microsoft ActiveX Data Objects xx Library
Function LireCellule(repertoire As String, fichier As String, feuille As String, dest As String)
  Set cnn = New ADODB.Connection

'--- Connexion ---
 With cnn
        .Provider = "Microsoft.Jet.OLEDB.12.0"
        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
           & repertoire & "\" & fichier & ";Extended Properties=""Excel 12.0;HDR=NO;"""
       .Open
 End With

'--- récupérer les données --
 Set rs = cnn.Execute("SELECT * FROM [" & feuille & "$" & cellule & "]")
  Range(dest).CopyFromRecordset rs

  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing
End Function

J'ai fais mes réglages.

C'est cette ligne qui me pose un pb

Set cnn = New ADODB.Connection

Je ne comprend pas grand chose à ce bout de code, du coup je ne sais pas quoi mettre.

T'aurais une idée du problème ?

Encore merci Pour ton aide.

vous avez activer la référence: Microsoft ActiveX Data Objects xx Library ?

Bonjour,

Oui j'ai le paramètre Microsoft ActiveX Data Objects 2.0 Library activé.

Est ce le bon ?

Merci


Autant pour moi,

La destination n'avais pas été rentrée

Cela marche à la perfection.

Grand merci.

Rechercher des sujets similaires à "insertion donnees classeur tableur"