Copier données dernière cellule vide
s
Bonjour,
J’ai une macro qui me permet de mettre à jour les taux de change dans le fichier «DEVISES » en recopiant ces taux à la dernière cellule vide des colonnes des devises.
Mon problème, c’est que çà recopie la formule au lieu des données, je ne vois pas comment faire ?
Sub Mise_à_jour_taux()
' Ouverture du fichier XE - XE Currency Update Service'
Workbooks.Open Filename:= _
...Chemin du fichier....\Macros Tréso\Cours Devises\XE - XE Currency Update Service.xlsx"
' Copie les taux dans le fichier DEVISES'
'Ouverture du fichier DEVISES'
Workbooks.Open Filename:="C:\Devises\DEVISES.xlsx"
Sheets("Taux de change").Select
'Recopie le dernier Cours CHF à la dernière cellule vide de la colonne E'
Range("V5").Copy Range("E" & Range("E" & Rows.Count).End(xlUp).Row + 1)
'Recopie le dernier Cours GBP à la dernière cellule vide de la colonne F'
Range("R5").Copy Range("F" & Range("F" & Rows.Count).End(xlUp).Row + 1)
'Recopie le dernier Cours USD à la dernière cellule vide de la colonne C'
Range("N5").Copy Range("C" & Range("C" & Rows.Count).End(xlUp).Row + 1)
End Sub
le "copy" copie le contenu (dans ton cas la formule) et pas la valeur.
Tu peux essayer ceci:
Sub Mise_à_jour_taux()
' Ouverture du fichier XE - XE Currency Update Service'
Workbooks.Open Filename:= _
...Chemin du fichier....\Macros Tréso\Cours Devises\XE - XE Currency Update Service.xlsx"
' Copie les taux dans le fichier DEVISES'
'Ouverture du fichier DEVISES'
Workbooks.Open Filename:="C:\Devises\DEVISES.xlsx"
Sheets("Taux de change").Select
'Recopie le dernier Cours CHF à la dernière cellule vide de la colonne E'
Range("E" & Range("E" & Rows.Count).End(xlUp).Row + 1).Value = Range("V5").Value
'Recopie le dernier Cours GBP à la dernière cellule vide de la colonne F'
Range("F" & Range("F" & Rows.Count).End(xlUp).Row + 1).Value = Range("R5").Value
'Recopie le dernier Cours USD à la dernière cellule vide de la colonne C'
Range("C" & Range("C" & Rows.Count).End(xlUp).Row + 1).Value = Range("N5").Value
End SubAinsi, tu ne copie pas, tu modifie la valeur. Pour ton info, cela signifie, entre autre, que le format de la cellule n'est pas transféré. Mais en cas de besoin, tu peux l'ajouter:
Range("E" & Range("E" & Rows.Count).End(xlUp).Row + 1).NumberFormat = Range("V5").NumberFormat
Range("F" & Range("F" & Rows.Count).End(xlUp).Row + 1).NumberFormat = Range("R5").NumberFormat
Range("C" & Range("C" & Rows.Count).End(xlUp).Row + 1).NumberFormat = Range("N5").NumberFormats
Merci pour ta réponse, mais çà ne copie aucune donnée....
...C'est bon maintenant..
MERCI.
