1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Byte 'déclare la variable J (incrément)
Set OS = Worksheets("Feuil1") 'définit l'onglet source OS
Set OD = Worksheets("Feuil2") 'définit l'onglet destination OD
DL = OS.UsedRange.Rows.Count 'définit la dernière ligne éditée DL de l'onglet OS
For I = 1 To DL 'boucle 1 : sur toutes les ligne I de 1 à DL
For J = 1 To 3 'boucle 2 : sur les 3 colonnes A, B et C
If IsDate(OS.Cells(I, J)) Then 'condition : si la cellule ligne I colonne J de l'onglet OS est une date
'définit la cellule de destination DEST (A1 si A1 est vide, sinon la première cellule vide de la colonne A de l'onglet destination OD)
If OD.Range("A1").Value = "" Then Set DEST = OD.Range("A1") Else Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0)
OS.Cells(I, J).Copy DEST 'copie la cellule ligne I, colonne J de l'ongltt OS dans DEST
End If 'fin de la condition
Next J 'prochaine colonne de la boucle 2
Next I 'prochaine ligne de la boucle 1
End Sub |
Partager