Copier donnée de deux classeur
Bonjour à tous.
Je me casse la tête depuis deux jours pour faire ce dont j'ai besoin et je n'y arrive pas.
Voila mon problème:
Je dois copié les données de 3 cellules qui sont dans un classeur qui change tout les jours vers un autre.
ex 1er classeur j'ai en A1 85 B1 25 C1 35
Ces données changeront demain.
pour aujourd’hui je dois les insérer automatiquement dans un autre classeur dans un tableau concernant la semaine en cours.
Donc la semaine prochaine les valeurs du 1er classeur vont changer mais dans mon deuxième classeur elles doivent rester. Les nouvelles valeurs doivent passer dans la colonne suivante et ainsi de suite.
Merci de votre aide.
Hi,
Je pense qu'en demandant à coller sur la dernière colonne +1 (donc première colonne libre), ça répond à ta demande.
With [classeur2.Feuille archive]
dercol = .cells(1,columns.count).end(xltoleft).column
classeur1.feuille_resultat.range("A2").copy .cells(2,dercol+1)
classeur1.feuille_resultat.range("B2").copy .cells(3,dercol+1)
classeur1.feuille_resultat.range("C2").copy .cells(4,dercol+1)
end withÉvidemment tu ouvres au préalable les deux classeurs et tu adaptes les feuilles et nom dédits classeurs au passage
Salut,
J'ai éssayé de mettre ta macro mais à chaque fois ça ne marche pas excel veut me mettre automatiquement Sub test et End sub...
Si tu peux me mettre la macro dans les classeurs comme ça je verrais ce que ça donne. Après il faut quze je lui rajoute deux ou trois petites choses mais ça c'est la base et je suis à l'ouest...
Merci d'avance
En plus j'avais fait une faute de frappe
Ci-joint le fichier tout prêt, sinon :
Dans un module :
Option Explicit
Sub MaJ()
Dim classeur1 As Workbook, chemin$, nom$, dercol%
With ThisWorkbook
nom = .Sheets("Classeur_Cible").Range("B2") 'définition nom du classeur
chemin = .Sheets("Classeur_Cible").Range("A2") 'definition de son répertoire
If Right(chemin, 1) <> "\" Then
chemin = chemin & "\"
End If
Set classeur1 = Workbooks.Open(chemin & nom) 'on l'ouvre
With .Sheets("Resultats")
dercol = .Cells(2, Columns.Count).End(xlToLeft).Column 'dernière colonne de notre feuille "Resultats"
classeur1.Sheets("Feuil1").Range("A2").Copy .Cells(2, dercol + 1) 'On copie le résultat dans la colonne suivante (première colonne vide)
classeur1.Sheets("Feuil1").Range("B2").Copy .Cells(3, dercol + 1)
classeur1.Sheets("Feuil1").Range("C2").Copy .Cells(4, dercol + 1)
End With
End With
End Sub