Copier coller en valeur d'un fichier excel à un autre
Bonjour,
Récemment j'ai repris un petit passe temps que j'avais abandonné qui est celui de faire de la vba sur excel. Seulement ça fait un petit moment que je n'y ai pas touché et je bloque sur un code tout simple. en gros j'ai un fichier "données.xslx" dans lequel il y'a des données et dans un même dossier j'ai un fichier "logiciel.xlsm" qui prend en charge les macros. Il faudrait que quand j'appuie sur la macro dans mon fichier "logiciel.xlsm" ça copie en valeur (les données étant issus de formules) toutes les données (A1:N117) de la feuille "recap 3 dernieres saisons" de mon fichier "données.xlsx" vers la feuille "domicile" du fichier "logiciel.xlsm" en A1.
Voila je sais que c'est un simple copier coller mais entre 2 fichier la je bloque je me rappelle plus du tout comment faire.
Cordialement
ou dois je mettre le chemin de destination?
Merci donc en suivant le tuto j'ai trouvé ce code qui semble correspondre à ce dont j'ai besoin mais si j'ai compris effectivement comment aller chercher l'info je en sais pas ou indiquer ou il faut la coller. De plus quand j'essaye de lui indiquez un chemin d’accès il me répond "erreur de compilation" type défini par l'utilisateur non défini. Pourriez vous m'aidez?
Cordialement
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Private Sub Montpellier_dom_cmd_Click()
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 = "A1:N117"
Feuille = "Recap 3 derniere saisons$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
'Chemin complet du classeur fermé
Fichier = "C:\Users\PC_DU_GREEN\Desktop\Stat pari\stat montpellier.xlsx"
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("A1").CopyFromRecordset Rst
Rst.Close
Source.Close
Set Source = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing
frmexterieur.Show
frmdomicile.Hide
End Sub |