copier cellules d'un fichier fermé sans ADO

  • Initiateur de la discussion Initiateur de la discussion jasol
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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à... :(
 
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!! 😀 merci de partager tes connaissances ici! 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
817
Réponses
3
Affichages
491
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
447
Retour