Collage données en automatique
Bonjour tout le monde
Besoin d'un peu d'aide svp :
Dans la feuille 1, je colle des données extraites d'un logiciel de gestion. Cela rempli des colonnes de la feuille 2 (colonnes avec en en-tête des dates.) Les données collées en Feuille 1 vont donc dans la colonne qui correspond à la date d'aujourd'hui (=aujourd'hui). Les données d'hier sont donc effacées. il y a autant de colonnes que de jours dans le mois
La question : comment garder les données d'hier en automatique (je ne veux pas faire de collage spécial en manuel pour éviter les oublis). Comment faire une macro qui copierait la colonne du jour et la collerait sans la formule dans une autre feuille pour garder celle ci pour les autres dates ?
En vous remerciant par avance
JCM
Bonjour jcm,
Un exemple de macro que tu pourrais utiliser et modifier par la suite comme tu le souhaites :
Sub CopierDonnees()
Dim srcSheet As Worksheet
Dim destSheet As Worksheet
Dim colNum As Integer
Dim lastRow As Long
'Définir la feuille source et la feuille de destination
Set srcSheet = ThisWorkbook.Sheets("Feuille1")
Set destSheet = ThisWorkbook.Sheets("Feuille2")
'Trouver la colonne correspondant à la date d'aujourd'hui
colNum = Application.WorksheetFunction.Match(CLng(Date), srcSheet.Rows(1), 0)
'Trouver la dernière ligne avec des données dans la colonne
lastRow = srcSheet.Cells(srcSheet.Rows.Count, colNum).End(xlUp).Row
'Copier les données sans les formules
srcSheet.Cells(1, colNum).Resize(lastRow).Copy
destSheet.Cells(1, colNum).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End SubSi tu veux exécuter cette macro automatiquement à un moment précis, tu peux le faire en utilisant une procédure Application.OnTime.
Cette macro suppose que la première ligne de chaque colonne contient la date pour cette colonne. Si ce n'est pas le cas, tu dois adapter la macro en conséquence.
Bonjour
Merci beaucoup pour la réponse
Je vais essayer dés que je peux et reviendrai vers toi. Merci d'avance et bonne journée
Bonjour Abderrahmane,
J'ai essayé le code, c'est "presque bon" j'ai juste un souci que je ne comprend pas : aujourd'hui, lorsque je lance le code, la macro s'exécute bien mais m'écrase la journée du 21/05/2023, les données sont bien collées mais dans la colonne du 21 et non du 23, il y a un décalage de 2 jours mais je ne comprends pas pourquoi ... Aurais tu une idée ?
En te remerciant par avance
Bonne fin de journée
Re bonjour
C'est ok j'ai trouvé, la feuille source avait un décalage de 2 colonnes l'écart était de là ...
Je te remercie beaucoup pour le coup de main :)
Bonne journée
JC
ça y est encore une fois j'ai était trop vite en te sollicitant ! j'avais encore un décalage de colonne que je ne voyais pas
Merci quand même ;)
Bonjour Abderrahmane,
Me revoila de nouveau ... J'aimerai encore te solliciter car j'ai de nouveau mon problème de décalage de colonne, je m'explique :
La colonne dans ma feuille source est bien copiée (première ligne est = à aujourd'hui) mais quand le collage se fait mes données vont dans la collage d'hier (donc 06/06/2023). J'ai tout essayé en changeant plusieurs choses mais mon niveau en VBA n'est pas suffisant, je suis sûr qu'il ne doit pas y avoir grand chose ... Pourrais tu me donner une piste stp ?
En te remerciant par avance
JC