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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
On Sun, 23 Oct 2016 19:50:49 +0200, Brat'ac <bratac@yopmail.com>
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
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
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 wrote:
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
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
<On@sen.fout> wrote:
On Sun, 23 Oct 2016 19:50:49 +0200, Brat'ac <bratac@yopmail.com>
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
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 wrote:
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
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
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")
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
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.
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.
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.