Import de données d'un fichier Excel fermé

Bonjour,

Je sais que de nombreux posts ont été écrit sur le sujet néanmoins, je viens demander un conseil sur le code que j'ai écrit qui ne fonctionne pas (VBA m'informe que ADODB.Connection n'est pas un type défini".

J'ai crée un userform dans lequel je rentre le nom du fichier et le nom de la feuille dans laquelle se trouvent les données que je souhaite copier sur le fichier dans lequel se trouve la macro.

Voici mon code:

 

Sub Commandbutton1_click()
'Déclaration variable chemin et nom en texte

Dim Cheminsource As String, Fichiersource As String, Feuillesource As String

Cheminsource = TextBox1.Value
Feuillesource = TextBox2.Value

    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 des cellules contenant les données à récupérer
    Cellule = "A2:AK39528"

    Feuille = " & Feuillesource & $"
    'Chemin complet du classeur fermé
    Fichier = " & Cheminsource & "

    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 & "]")

    Worksheets("Copie des resultats").Range("A2:AK39528").CopyFromRecordset Rst

    Rst.Close
    Source.Close
    Set Source = Nothing
    Set Rst = Nothing
    Set ADOCommand = Nothing
End Sub

Je vous demande votre aide face à cette embuche.

Merci par avance de vos réponses

Bonjour,

As-tu bien coché la référence ADO ?

Bouben

copieecran

Bonjour,

Je vous remercie de votre réponse mais je ne sais pas et ne trouve pas comment accéder à ce menu.

Pourriez-vous m'aider s'il vous plait?


Bonjour,

J'ai enfin trouvé le bouton références.

Merci!


Rebonjour,

VBA m'affiche une erreur d'exécution '-2147217900 (80040e14)': Mise entre crochets non valide du nom ' &Feuillesource &A2:AK39528'

Quelqu'un sait-il à quoi cela correspond?

Merci par avance de votre aide

Bonjour,

Plusieurs erreurs dans les instructions que tu as écrites.

Un exemple d'application (attention : s'applique à l'import d'un fichier xls)

Bonne journée

Bouben

494fichiersource.zip (4.28 Ko)

Merci beaucoup pour cette réponse!

Je vais tester cela.

Bonne journée!

Bonjour à tous,

j'ai exactement le même besoin que toi Tayger, j'ai testé les deux fichiers de bouben et tout fonctionne parfaitement.

Seulement je suis encore novice en VBA et je ne sais pas comment faire pour adapter cette macro à mes fichier.

Auriez-vous des conseils ?

Cordialement,

PLUMA.

Bonjour,

merci de votre aide, j'ai une question par rapport à ce sujet, comment pourrait-on faire pour transporter les lignes en colonnes?

merci par avance

Dauof

Rechercher des sujets similaires à "import donnees fichier ferme"