copier cellules d'un fichier fermé sans ADO

jasol

XLDnaute Nouveau
COmme le sujet l'indique, je souhaiterais copier une plage de cellules d'un fichier fermé vers un fichier ouvert sans passer par le fournisseur ADO, car j'ai un code que j'ai testé avec ADO, ca marche très bien mais que sur certains postes, je ne trouv epas l'erreur, quand je lance ma macro sur mon poste, ca marche nickel, mais quand je le lance à partir d'un autre poste (les fichiers sont partagés) il me met erreur '-2147467259, erreur non spécifiée" je n'ai aucune idée de comment résoudre cela, voici le code avec ado :

Code:
Private Sub CommandButton1_Click()
Dim Source As Object, Requete As Object
Dim Onglet As String, Plage As String, fichier As String
Dim Texte_SQL As String
Dim Source2 As Object, Requete2 As Object
Dim Onglet2 As String, Plage2 As String, fichier2 As String
Dim Texte_SQL2 As String
Dim Source3 As Object, Requete3 As Object
Dim Onglet3 As String, Plage3 As String, fichier3 As String
Dim Texte_SQL3 As String


'détermine de la plage à extraire
    fichier = "\\Adresse IP\Commun\CONt\2012\Feuille Mars.xls"
    Onglet = "pm" '
    Plage = "H6:S10000"
  
'connexion ADO
Set Source = CreateObject("ADODB.Connection")
    Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "data source=" & fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
    
     'exerce la requete ADO sur les donnée à recopier
    Texte_SQL = "SELECT * FROM [" & Onglet & "$" & Plage & "]"
    Set Requete = CreateObject("ADODB.Recordset")
    Set Requete = Source.Execute(Texte_SQL)
      
 'restitue sur ton classeur
   Sheets("Mois en cours").Range("X6").CopyFromRecordset Requete
      
'libère les pointeurs
Set Requete = Nothing
Set Source = Nothing

'détermine de la plage à extraire
    fichier2 = "\\IP\Commun\\2012\....xls"
    Onglet2 = "p" '
    Plage2 = "C6:D10000"
  
'connexion ADO
Set Source2 = CreateObject("ADODB.Connection")
    Source2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "data source=" & fichier2 & ";Extended Properties=""Excel 8.0;HDR=No;"";"
    
     'exerce la requete ADO sur les donnée à recopier
    Texte_SQL2 = "SELECT * FROM [" & Onglet2 & "$" & Plage2 & "]"
    Set Requete2 = CreateObject("ADODB.Recordset")
    Set Requete2 = Source2.Execute(Texte_SQL2)
      
 'restitue sur ton classeur
    Sheets("Mois en cours").Range("D6").CopyFromRecordset Requete2
      
'libère les pointeurs
Set Requete2 = Nothing
Set Source2 = Nothing

'détermine de la plage à extraire
    fichier3 = "\\Adresse IP du pc\Commun\ Mars.xls"
    Onglet3 = "pm" '
    Plage3 = "F6:G10000"
  
'connexion ADO
Set Source3 = CreateObject("ADODB.Connection")
    Source3.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "data source=" & fichier3 & ";Extended Properties=""Excel 8.0;HDR=No;"";"
    
     'exerce la requete ADO sur les donnée à recopier
    Texte_SQL3 = "SELECT * FROM [" & Onglet3 & "$" & Plage3 & "]"
    Set Requete3 = CreateObject("ADODB.Recordset")
    Set Requete3 = Source3.Execute(Texte_SQL3)
      
 'restitue sur ton classeur
    Sheets("Mois en cours").Range("F6").CopyFromRecordset Requete3
      
'libère les pointeurs
Set Requete3 = Nothing
Set Source3 = Nothing

End Sub
[CODE]

Quelqu'un aurait il une idée de comment je peux résoudre mon problème ou comment je peux copier mes cellules sans passer par ADO? je desespère là... :(
 

jasol

XLDnaute Nouveau
Re : copier cellules d'un fichier fermé sans ADO

Rebonjour, j'ai vérifié et les fichiers sont les memes sur mon pc et sur celui sur lequel le code ne marche pas, je ne vois vraiment pas d'où peut venir l'erreur! :(

En tout cas merci à toi tototiti, j'ai lu pas mal de tes posts en plus, tu gères!! :D merci de partager tes connaissances ici! :)
 

Discussions similaires

Réponses
2
Affichages
114

Statistiques des forums

Discussions
312 207
Messages
2 086 232
Membres
103 161
dernier inscrit
Rogombe bryan