Copier coller sous VBA

Bonjour / Bonsoir

J'ai posté il y a quelques mois sur un problème de copier / coller sous VBA, et j'ai trouvé réponse grâce au Forum. Il s'agissait de coller en feuille2, la feuille1 par rapport à la date du jour (les deux feuilles avaient les dates déjà renseignées dans chaque colonne)

J'ai de nouveau besoin d'aide toujours pour un copier /coller . Mais cette fois ci, en Feuille 1 il n'y a qu'une seule colonne (F) avec la date "aujourd'hui" et des données dans les cellules dessous. Dans la feuille 2 toutes les colonnes sont déjà renseignées avec les dates. Je veux donc que mes données dans la feuille 1 "d'aujourd'hui" soient sauvegardées dans la colonne correspondante à "aujourd'hui" dans la feuille 2... et bien sûr qu'elles y restent demain quand la date aura changée.

J'espère avoir été clair et vous remercie d'avance pour votre aide.

Cdt

JCM

Bonjour jcm,

Essai ceci

Sub CopierCollerDonnees()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim DateAujourdhui As Date
    Dim DerniereLigne1 As Long
    Dim i As Long

    ' Spécifie la feuille 1 (où se trouvent les données d'aujourd'hui)
    Set ws1 = ThisWorkbook.Sheets("Feuil1")

    ' Spécifie la feuille 2 (où tu veux coller les données)
    Set ws2 = ThisWorkbook.Sheets("Feuil2")

    ' Obtient la date d'aujourd'hui
    DateAujourdhui = Date

    ' Trouve la dernière ligne de données dans la colonne F de la feuille 1
    DerniereLigne1 = ws1.Cells(ws1.Rows.Count, "F").End(xlUp).Row

    ' Boucle à travers les données de la feuille 1
    For i = 2 To DerniereLigne1 ' Commence à la ligne 2 (si les en-têtes sont en ligne 1)
        ' Vérifie si la date dans la colonne F correspond à la date d'aujourd'hui
        If ws1.Cells(i, "F").Value = DateAujourdhui Then
            ' Trouve la colonne correspondant à la date d'aujourd'hui dans la feuille 2
            ' En supposant que les dates commencent en colonne B (colonne 2)
            ' La colonne correspondant à la date d'aujourd'hui est donc la colonne B + le nombre de jours depuis la colonne B
            Dim ColonneCible As Long
            ColonneCible = 2 + DateDiff("d", DateSerial(Year(DateAujourdhui), 1, 1), DateAujourdhui)

            ' Copie les données de la feuille 1 et les colle dans la feuille 2 dans la colonne correspondante
            ws1.Cells(i, "F").Copy ws2.Cells(i, ColonneCible)
        End If
    Next i
End Sub

Assure-toi de personnaliser les noms des feuilles ("Feuille1" et "Feuille2") et les emplacements des données en fonction de ton classeur. Ce code recherche la date d'aujourd'hui dans la colonne F de la feuille 1 et copie les données associées dans la colonne correspondante de la feuille 2. Les données resteront associées à la date correcte même lorsque la date change.

Bonjour Stepaustras

Dans un premier temps je te remercie pour ta réponse.

Dans un deuxième, je m'excuse pour la mienne tardive.

Je viens d'essayer ton code, malheureusement rien ne se passe, pas de message d'erreur, j'ai bien regardé le nom de mes feuilles, j'ai effectué quelques modif du genre format de cellules etc . Tout à l'air correct dans ton code mais rien n'y fait ... je pense que c'est tout bête mais bon je ne suis pas un pro du VBA ...

Si une idée te vient ...

En te remerciant

Bonne journée

JCM

Bonjour JCM,

Avec un fichier ce sera plus explicites

C'est vrai .. Je t'ai fait une copie

Je te remercie

JCM

Essai ceci

Merci Beaucoup c'est gentil.

Ca marche, comme je le veux, me reste à ajuster mes chronomètres car ça merdouille un peu ...

Bonne fin de journée et merci encore

JCM

Rechercher des sujets similaires à "copier coller vba"