Recup fichier fermé

mamour60

XLDnaute Junior
Rebonjour a tous,

J'utilise cette macro trouve sur le web pour recuperer les données d'un classeur ferme. Seulement cette macro est trés longue . Estce que quelqu'un a une autre macro plus rapide.

Merci encore

Bruno

Sub maj_base()
On Error Resume Next

GetValuesFromAClosedWorkbook "Chemin ou se trouve le fichier", Nom du fichier, Nom de la feuil, "A27:A1000"


End Sub


Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

'le paramètre 'cellRange' doit désigner *une* plage de cellules *contigües*

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "\[" & fName & "]" _
& sName & "'!" & cellRange
.Value = .Value
End With
End Sub
 
C

Compte Supprimé 979

Guest
Re : Recup fichier fermé

Salut Mamour60,

Quand un Bruno parle avec un autre Bruno, qu'est-ce qu'ils se racontent ...

Et ben non pas des histoires de Bruno :D, mais des histoires de code VBA ;)

Essaye ça :
Code:
Sub maj_base()
  On Error Resume Next
  GetValueWithADO "Chemin ou se trouve le fichier", Nom du fichier, Nom de la feuil, "A27:A1000"
End Sub

Code:
Public Sub GetValueWithADO(fPath As String, fName As String, sName, cellRange As String)
  Dim myConn As ADODB.Connection, myCmd As ADODB.Command, myRS As ADODB.Recordset
  Dim VPathFic As String
  ' Construction du chemin d'accès
  VPathFic = fPath & "\" & fName
  [B][COLOR=green]' Penser à c[/COLOR][COLOR=green]ocher la référence : Microsoft ActiveX Data Object 2.6 Library[/COLOR][/B]
[B][COLOR=green]  ' Ou supérieure[/COLOR][/B]
  ' Ouverture de la connexion et du recordset
  Set myConn = New ADODB.Connection
  myConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
              "Data Source=" & VPathFic & ";" & _
              "Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"""
  Set myCmd = New ADODB.Command
  myCmd.ActiveConnection = myConn
  myCmd.CommandText = "SELECT * from [" & sName & "$" & cellRange & "]"
  Set myRS = New ADODB.Recordset
  myRS.Open myCmd, , adOpenKeyset, adLockOptimistic
  ' Restituer les données
  ActiveSheet.Range(cellRange).CopyFromRecordset myRS
  ' Fermer la connection
  myConn.Close
  Set myRS = Nothing
  Set myCmd = Nothing
  Set myConn = Nothing
End Sub

Recopie les valeurs dans le classeur au même endroit que la plage quyi à été donnée

A+
 
Dernière modification par un modérateur:

mamour60

XLDnaute Junior
Re : Recup fichier fermé

Bonjour Bruno,

Merci pour ton aide mais lorsque je lance la macro J'ai un message
d'erreur de compilation : "type definie par l'utilisateur non defini"
et Dim myConn As ADODB.Connection (Souligné en jaune).

si tu as une idée du probleme.

@+

Bruno
 

Discussions similaires

Réponses
14
Affichages
439
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom