1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| Sub tt()
Set f1 = Worksheets("Feuil1")
Set f2 = Worksheets("Feuil2")
f2.Cells.Clear
derniereLigne = f1.UsedRange.Rows.Count
ligneF2 = 1
PremiereColdate = 4
DerniereColDate = Sheets("Feuil1").Range("A1").CurrentRegion.Columns.Count
For ColonneDate = Cells(1, PremiereColdate).Column To Cells(1, DerniereColDate).Column
debut = 0
For i = 2 To derniereLigne
If f1.Cells(i, 1) <> "" Then
ligneF2 = ligneF2 + 1
f2.Cells(ligneF2, 1) = f1.Cells(i, 1)
debut = i
colDest = 3
OKDate = False
For j = debut To derniereLigne
'Verifie si c'est le même collaborateur ou le prochain
If f1.Cells(j, 1) <> "" And j > debut Then
Exit For
Else
'Verifie si le numéro d'item est OK.
If f2.Cells(1, colDest) <> "" And f1.Cells(j, "C").Value <> f2.Cells(1, colDest) Then
'Erreur : les numéros d'items ne sont pas identiques
f1.Activate
f1.Cells(j, "C").Select
f2.Activate
f2.Cells(1, colDest).Select
MsgBox "Erreur : " & f1.Cells(j, "C").Value
Stop
End
Else
If f2.Cells(1, colDest) = "" Then
'Ecrit entête de la colonne
f2.Cells(1, colDest) = f1.Cells(j, "C")
End If
'Ecrit valeur de cet item
f2.Cells(ligneF2, colDest) = f1.Cells(j, ColonneDate)
End If
If OKDate = False Then
'Copie la date en colonne B
f1.Cells(1, ColonneDate).copy f2.Cells(ligneF2, "B")
OKDate = True
End If
'Incrémente Colonne Destination
colDest = colDest + 1
End If
Next
End If
Next
Next
MsgBox "Fin"
End Sub |
Partager