Bonjour à tous,
J'avais déjà fait appel au forum pour réaliser un code vba pour lire un fichier partagé fermé. Je souhaitais que les certaines plages du fichier fermé soit copier dans un fichier partagé ouvert. Voici le 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 Stringfichier = "\\172.21.253.201\Commun\2012\Mars.xls"
Onglet = "m"
Plage = "H6:S10000"
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)
Sheets("Mars").Range("Z6").CopyFromRecordset Requete
'libère les pointeurs
Set Requete = Nothing
Set Source = Nothing#
Ce code marche mais pas à chaque fois, dès fois le code copiera toutes mes plages, d'autres fois il n'en m'en prendra que quelques cellules de la plage que je lui ai défini
Quelqu'un pourrait-il m'aider?
J'avais déjà fait appel au forum pour réaliser un code vba pour lire un fichier partagé fermé. Je souhaitais que les certaines plages du fichier fermé soit copier dans un fichier partagé ouvert. Voici le 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 Stringfichier = "\\172.21.253.201\Commun\2012\Mars.xls"
Onglet = "m"
Plage = "H6:S10000"
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)
Sheets("Mars").Range("Z6").CopyFromRecordset Requete
'libère les pointeurs
Set Requete = Nothing
Set Source = Nothing#
Ce code marche mais pas à chaque fois, dès fois le code copiera toutes mes plages, d'autres fois il n'en m'en prendra que quelques cellules de la plage que je lui ai défini
Quelqu'un pourrait-il m'aider?