Copier cellule dans une autre feuille en fonction d'une date
o
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
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
CTRL + e pour exécuter la macro "test"
Cordialement,