copier certaines cellules dans une fichier

E

eric

Guest
Bonjour à tous
J'ai un fichier cible
et je dois reprendre les cellules D1 et F1 dans un autre fichier nommé récap.
A chaque modification de ces cellules D1 et F1 et après sauvegarde du fichier cible
une nouvelle ligne doit apparaitre avec ces valeurs dans le fichier récap

Merci de me dire comment integrer cettte possibilité en VBA.
Bonne soirée
Eric
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Éric, bonsoir le forum,

Je te propose cette solution mais pour qu'elle fonctionne il faut que les deux fichiers (source et cible = récap.xls) soient dans le même dossier. La macro agit à la fermeture du classeur source. Elle ouvre le classeur 'récap.xls' copie les cellules D1 et F1 dans les colonne respectives A et B sur la première ligne vide existante. Sauve récap.xls puis le ferme. Il te faudra peut-être adapter le nom des onglets des classeurs pour ton cas...

Copie le code ci-dessous et colle-le dans le composant ThisWorkbook de Visual Basic Editor.


Private Sub Workbook_BeforeClose(Cancel As Boolean) 'à la fermeture du classeur
Dim réc As Workbook 'déclare la variable réc
Dim dest As Range 'déclare la variable dest

ThisWorkbook.Save 'sauve ce classeur
Application.Workbooks.Open ('récap.xls') 'ouvre le classeur 'récap.xls'
Set réc = Workbooks('récap.xls') 'définit la variable réc

'définit la variable dest
With réc.Sheets('feuil1') 'prend en compte l'onglet 'Feuil1' du classeur 'récap.xls'
If .Range('A1') = '' Then 'condition : si a1 est vide
Set dest = .Range('A1') 'dest = a1
Else 'sinon
Set dest = .Range('A65536').End(xlUp).Offset(1, 0) 'dest = la prenière cellule vide de la colonne A
End If 'fin de la condition
End With 'fin de la prise en compte de l'onglet 'Feuil1' du classeur 'récap.xls'

'copie les cellule D1 et F1 et les colle dans la cellule de destination dest
ThisWorkbook.Sheets('Feuil1').Range('D1,F1').Copy Destination:=dest

réc.Save 'sauve le classeur 'récap.xls'
réc.Close 'ferme le classeur 'récao.xls'
End Sub
 
E

eric

Guest
Merci Robert pour cette macro et surtout pout l'interesser à mon problème
L'exécution de la macro ne semble pas poser de prblème
Pas de message d'erruer
Hélas le classeur destination reste vide ?
Merci de bien m'aider encore
Eric
 
E

eric

Guest
Merci Robert pour cette macro et surtout pout l'interesser à mon problème
L'exécution de la macro ne semble pas poser de prblème
Pas de message d'erruer
Hélas le classeur destination reste vide ?
Merci de bien m'aider encore
Eric
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Éric, bonjour le forum,

Je ne comprends pas car je l'ai testée avant de te l'envoyer. C'est vrai qu'en relisant ton post j'ai vu que tu demandais que les données D1 et F1 soit mises à jour à chaque changement. La macro actuelle n'agit qu'à la fermeture du classeur d'origine. C'est peut-être cela le problème. Quand tu fermes le classeur, la données inscrite en D1 et copiée dans récap.xls dans la colonne A (première ligne vide rencontrée) et la donnée de F1 et copiée dans la colonne B.
 

Discussions similaires

Statistiques des forums

Discussions
312 875
Messages
2 093 148
Membres
105 641
dernier inscrit
Naoel