Bonsoir a toutes et a tous
je viens chercher de l'aide avant de devenir fou !!!!
voici mon soucis,
j'ai un classeur excel sur un pc qui comporte plusieurs feuilles, j'ai son cousin qui est pareil mais sous un nom différent et dans un autre pc sur un réseau.
Je cherche a récupérer par une macro les données qui sont dans 3 tableaux différents mais dans une seule feuille du pc 2 et les re-copiers dans le classeur du pc1 dans les 3 tableaux différents mais toujours dans une seule feuille . Vous l'aurez compris les deux fichiers sont identiques.
j'ai donc essayé de faire ceci :
Sub extractionValeurCelluleClasseurFerme()
Dim Source As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim ADOCommand As ADODB.Command
Dim Fichier As String, Cellule As String, Feuille As String
'Adresse de la cellule contenant la donnée à récupérer
Cellule = "B6:z9"
Feuille = "Feuil1$"
'Chemin complet du classeur fermé
Fichier = "I:\s\test1\commission.xls"
Set Source = New ADODB.Connection
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
Set ADOCommand = New ADODB.Command
With ADOCommand
.ActiveConnection = Source
.CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
End With
Set Rst = New ADODB.Recordset
Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
Set Rst = Source.Execute("[" & Feuille & Cellule & "]")
Range("A2").CopyFromRecordset Rst
Rst.Close
Source.Close
Set Source = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing
End Sub
Aprés avoir déclaré dans la bibliothèque de l'éditeur vba
-Microsoft ADO ext x.x for DLL and Security
-Microsoft ActiveX Data Objects x.x Library
Evidement sa ne fonctionne pas ( dès qu'il va chercher le fichier , il ne le trouve pas ,malgès l'exactitude rigoureuse de sa position sur le réseau ) ,car a ce que j'en ai compri je n'ai pas de base mysql sur le réseau ( le bonheur quoi !!! )
j'aurais besoin donc de créer une macro qui au démarage du classeur , récupèrerait les valeurs, et recommencerait l'opération toutes les 30 secondes , que le classeur cible soit ouvert ou fermé
merci par avance pour un coup de main cordialement
zephir94
je viens chercher de l'aide avant de devenir fou !!!!
voici mon soucis,
j'ai un classeur excel sur un pc qui comporte plusieurs feuilles, j'ai son cousin qui est pareil mais sous un nom différent et dans un autre pc sur un réseau.
Je cherche a récupérer par une macro les données qui sont dans 3 tableaux différents mais dans une seule feuille du pc 2 et les re-copiers dans le classeur du pc1 dans les 3 tableaux différents mais toujours dans une seule feuille . Vous l'aurez compris les deux fichiers sont identiques.
j'ai donc essayé de faire ceci :
Sub extractionValeurCelluleClasseurFerme()
Dim Source As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim ADOCommand As ADODB.Command
Dim Fichier As String, Cellule As String, Feuille As String
'Adresse de la cellule contenant la donnée à récupérer
Cellule = "B6:z9"
Feuille = "Feuil1$"
'Chemin complet du classeur fermé
Fichier = "I:\s\test1\commission.xls"
Set Source = New ADODB.Connection
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
Set ADOCommand = New ADODB.Command
With ADOCommand
.ActiveConnection = Source
.CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
End With
Set Rst = New ADODB.Recordset
Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
Set Rst = Source.Execute("[" & Feuille & Cellule & "]")
Range("A2").CopyFromRecordset Rst
Rst.Close
Source.Close
Set Source = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing
End Sub
Aprés avoir déclaré dans la bibliothèque de l'éditeur vba
-Microsoft ADO ext x.x for DLL and Security
-Microsoft ActiveX Data Objects x.x Library
Evidement sa ne fonctionne pas ( dès qu'il va chercher le fichier , il ne le trouve pas ,malgès l'exactitude rigoureuse de sa position sur le réseau ) ,car a ce que j'en ai compri je n'ai pas de base mysql sur le réseau ( le bonheur quoi !!! )
j'aurais besoin donc de créer une macro qui au démarage du classeur , récupèrerait les valeurs, et recommencerait l'opération toutes les 30 secondes , que le classeur cible soit ouvert ou fermé
merci par avance pour un coup de main cordialement
zephir94
Dernière édition: