Copier/coller d'un onglet à un autre en fonction de la date

Bonjour,

Je suis désolée par avance car j'ai fait de nombreuses recherches infructueuses pour le problème suivant :

J'effectue de manière journalière une extraction (d'une 40aine de ligne) que je colle dans mon onglet "extraction", des recherchesx me permettent d'obtenir seulement les données dont j'ai besoin. Je les colle ensuite à la bonne date sur l'onglet "données". y'aurait-il moyen svp d'automatiser en vba la copie des éléments de l'onglet "report" vers l'onglet "données" en fonction de la date ? Ci-joint un fichier exemple avec très peu de données, j'utilise office 365 pour mon vrai fichier (pas dispo sur cet ordinateur). j'avais trouvé un sujet similaire mais c'était des données en colonne et je n'ai pas su les adapter à mon cas !!

54vba.xlsm (8.89 Ko)

Merci

Bonsoir à tous,

Et....

Le circuit de vos données me semble inutilement long : Extraction ==> Fichier Excel (Feuille Extraction) ==> Traitement pour Feuille Report ==> Traitement pour Feuilles Données !

Connaissez-vous Power Query (nativement intégré dans Excel depuis 2016) ?

Cet outil devrait être en mesure, à partir de votre extraction (quel format ?), de vous fournir automatiquement les informations désirées dans votre feuille Données.

Bonjour et merci de l'intérêt portée à mon problème. J'ai un peu galérer à trouver ou c'était sous excel mais effectivement ça y est. Comment fonctionne t-il du coup ?

j'ai oublié de préciser que toutes les données de l'extraction ne sont pas exploitées, et que certaines lignes doivent être additionner avant d'être copiées. Voici le sujet que j'avais trouvé mais pas réussi à transformer pour mon problème : https://forum.excel-pratique.com/excel/macro-vba-copier-coller-donnees-selon-date-t48636.html

J'ai navigué un peu sur power query et pivot du coup mais n'ai pas compris comment je pourrais les utiliser dans mon cas. Merci

Bonjour à tous,

Pourriez-vous mettre à notre disposition le fichier brut lié à votre extraction (csv, txt, ?) et présenter dans un classeur le résultat attendu après exploitation des ces données ?

Il s'agit d'un fichier txt que je ne peux malheureusement joindre ici pour des questions de confidentialité. J'ai effectivement réussi à utiliser querty pour son import mais j'ai déjà à l'heure actuelle une macro plus rapide pour l'import et la modification de ce fichier de données sources (je dois remplacer les points par rien sur une colonne). Néanmoins le fichier que je vous ai mis en exemple est quasi identique à l'original, et même identique sur son fonctionnement : import et copie des données sur l'onglet extraction, récupération des données cibles dans report avec des recherches (et des sommesi pour les additions de lignes donc). Et après bien pour le moment je copie colle manuellement la ligne à la bonne date.

Bonjour de nouveau,

...... J'ai effectivement réussi à utiliser querty pour son import mais j'ai déjà à l'heure actuelle une macro plus rapide pour l'import et la modification de ce fichier de données sources (je dois remplacer les points par rien sur une colonne).

Si VBA vous semble plus efficient, vous avez raison de poursuivre dans cette voie.

Ma "compétence" s'arrête là. Je passe la main aux virtuoses de la chose.

Bonne continuation.

Merci tout de même pour l'intérêt porté.bonne continuation également

Bonjour, pour ceux et celles qui tomberont sur ce sujet dans de futures recherches, voici ce qui a fonctionné pour moi :

Sub Copiercollerselondate()

' wsd = référence de la feuille avec les données à copier
Set wsd = Worksheets("Report")

' wsc référence de la feuille où chercher la date

Set wsc = Worksheets("Saisie")

' on recherche en Colonne D, la date qui se trouve en D2 sur wsd, on met le résultat dans une range nommé re

Set re = wsc.Columns("D:D").Find(wsd.Range("D2"), LookAt:=xlWhole)
' si re n'est pas vide =

If Not re Is Nothing Then

' on copie la plage E2:AE2 des données à copier

wsd.Range("E2:AY2").Copy

' on colle la plage en colonne E sur la ligne où on a trouvé la date (collage spécial valeurs et formats de nombres, blancs non compris)

wsc.Cells(re.Row, 5).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _ :=True, Transpose:=False

End If
End Sub

Rechercher des sujets similaires à "copier coller onglet fonction date"