Erreur d'exécution

Le
Brat'ac
Bonsoir,

J'ai récupéré sur le net une procédure qui permet de recopier une plage
de cellules d'un classeur fermé vers le classeur courant.

j'ai l'erreur suivante

Erreur d'exécution '-2147467259(80004005)
la table externe n'est pas au format attendu
-
sur les lignes suivantes

Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel
8.0;HDR=No;"";"
--
Je suppose que c'est une référence qui manque mais laquelle ?

Et je galère dur dur !!

Merci de l'aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
La Norme Française c'est pas le FN
Le #26413856
T'as essayé
:http://answers.microsoft.com/fr-fr/msoffice/forum/msoffice_excel-mso_windows8/microsoftjetoledb40/04ab2c09-a80f-4caf-9a05-851a4bd6299f

On Sun, 23 Oct 2016 19:50:49 +0200, Brat'ac wrote:
Bonsoir,
J'ai récupéré sur le net une procédure qui permet de recopier une plage
de cellules d'un classeur fermé vers le classeur courant.
j'ai l'erreur suivante
---------------------------------------------
Erreur d'exécution '-2147467259(80004005)
la table externe n'est pas au format attendu
----------------------------------------------
sur les lignes suivantes
---------------------------------------------------------------------------------
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel
8.0;HDR=No;"";"
--------------------------------------------------------------------------------
Je suppose que c'est une référence qui manque mais laquelle ?
Et je galère dur dur !!
Merci de l'aide

--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
La Norme Française c'est pas le FN
Le #26413855
Désolé, je répnd à côté de la plaque.
On Sun, 23 Oct 2016 21:32:48 +0200, La Norme Française c'est pas le FN
T'as essayé
:http://answers.microsoft.com/fr-fr/msoffice/forum/msoffice_excel-mso_windows8/microsoftjetoledb40/04ab2c09-a80f-4caf-9a05-851a4bd6299f

On Sun, 23 Oct 2016 19:50:49 +0200, Brat'ac wrote:
Bonsoir,
J'ai récupéré sur le net une procédure qui permet de recopier une plage
de cellules d'un classeur fermé vers le classeur courant.
j'ai l'erreur suivante
---------------------------------------------
Erreur d'exécution '-2147467259(80004005)
la table externe n'est pas au format attendu
----------------------------------------------
sur les lignes suivantes
---------------------------------------------------------------------------------
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel
8.0;HDR=No;"";"
--------------------------------------------------------------------------------
Je suppose que c'est une référence qui manque mais laquelle ?
Et je galère dur dur !!
Merci de l'aide


--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
MichD
Le #26413857
Bonjour,
Une manière de procéder :
Pour exécuter le code suivant, tu dois charger la bibliothèque suivante
dans la fenêtre de l'éditeur de code (VBA) d'Excel / Menu : Outils /
références /
Microsoft ActiveX Data Objects 2.8 Library
Dim Conn As String, PlageBidon As Range
Dim Classeur As String
Classeur = "c:CheminNomDuFichier.xls"
'Si la version est = excel 2003 ou plus vieillle
If Val(Application.Version) <= 11 Then
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Classeur & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"
Else
'prépare les commandes ADO et SQL
Conn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Classeur & ";" & _
"Extended Properties=""Excel 12.0;HDR=No;"";"
End If
'Yes -> en-tête de colonne
'NO -> sans en-tête de colonne
Feuille est une variable pour le nom de la feuille où sont les données
PlageBidon est une variable de type Range, la plage de cellules sur laquelle
tu veux excécuter une requête
Requête = "SELECT * FROM [" & Feuille & "$" & PlageBidon.Address(0, 0) & "]"
'crée l'objet Recordset
Set Rst = CreateObject("ADODB.Recordset")
'va chercher l'info
Rst.Open Requête, Conn, 0, 1, 1
MichD
Brat'ac
Le #26413890
MichD a formulé la demande :
Bonjour,
Une manière de procéder :
Pour exécuter le code suivant, tu dois charger la bibliothèque suivante
dans la fenêtre de l'éditeur de code (VBA) d'Excel / Menu : Outils /
références /
Microsoft ActiveX Data Objects 2.8 Library

Bonjour,
Merci du retour.
Microsoft ActiveX Data Objects 2.8 Library est bien coché.
Entre temps j'avais trouvé comme cela qui fonctionne et répond bien à
mon besoin.
----------------------------------------------------------------------------------------------------------------
Sub Importer-Donnees()
Dim Chemin As String, fichier As String
Chemin = "Monchemin"
fichier = "Mon Fichier"
ThisWorkbook.Names.Add "plage", RefersTo:="='" & Chemin & "[" &
fichier & "]Feuille_Source'!$A$5:$F$20"
With Sheets("Feuil2")
.[A5:F20] = "=plage"
.[A5:F20].Copy
Sheets("Feuille_Destinataire").Range("A1").PasteSpecial
xlPasteValues
End With
End Sub
----------------------------------------------------------------------------------------------------------------
Bonne journée.
Publicité
Poster une réponse
Anonyme