Copier cellule dans une autre feuille en fonction d'une date

Bonjour,

vous trouverez ci joint mon fichier.

J'aimerais copier les cellules Date de mise en oeuvvre/ durée/ Etat de la feuille données dans la feuille MAD-7+7 en fonction de la date que l'on retrouve en ligne A

si la Date de mise en oeuvre de la feuille Données est = à l'une des date de la ligne A de la feuille MAD-7+7 alors je veux copier la date la durée et l'etat dans les cellules attitrées.

Je veux que que ça s'alimente les unes après les autres

merci de votre aide

Je veux passer par un code VBA

14mad.xlsm (27.03 Ko)

Bonjour olb, le forum,

Un essai....

Option Explicit

Sub test()
 Dim col%, dercol% '.............................................................déclaration des variables colonnes
 Dim lig%, derlig%, x% '.........................................................déclaration des variables lignes
  Application.ScreenUpdating = False '...........................................désactive le rafraichissement de l'écran
   With Sheets("MAD -7+7") '.....................................................agit sur cette feuille
    .Range("A1").CurrentRegion.Offset(2, 0).ClearContents '......................efface les données à partir de la ligne 3
    dercol = .Cells(1, Cells.Columns.Count).End(xlToLeft).Column '...............définit la dernière colonne
     For col = 1 To dercol Step 3 '..............................................boucle sur les colonnes 1 à 45 avec un pas de 3
      For lig = 2 To Sheets("Données").Range("A" & Rows.Count).End(xlUp).Row '...boucle sur les lignes 2 à dernière ligne de la feuille "Données"
       If .Cells(1, col) = Sheets("Données").Range("A" & lig) Then '.............si correspondance entre dates
        derlig = .Cells(Rows.Count, col).End(xlUp).Row + 1 '.....................définit la dernière ligne en fonction de la colonne de la date
             x = col '...........................................................récupère le n° de la colonne
        .Cells(derlig, x) = CDate(Sheets("Données").Range("A" & lig)) '..........écrit la date
        .Cells(derlig, x + 1) = Sheets("Données").Range("D" & lig) '.............écrit la durée
        .Cells(derlig, x + 2) = Sheets("Données").Range("H" & lig) '.............écrit l'état
       End If
      Next lig '.................................................................prochaine ligne
     Next col '..................................................................prochaine colonne
    End With
End Sub
15copie-de-mad-2.xlsm (28.47 Ko)

CTRL + e pour exécuter la macro "test"

Cordialement,

Rechercher des sujets similaires à "copier feuille fonction date"