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 67 68 69 70
| Option Explicit
Sub Tri_Emplacement()
Dim Cellule As Range ' Variable pour sélectionner la cellule
Dim entete As Variant ' Déclaration tableau
Dim zero As String
Dim F1 As Worksheet
Dim F2 As Worksheet
Dim Cell As Range
Dim emplacement As Range
Dim firstaddress As String
Dim dejapresent As Range 'Variable pour savoir si l'emplacement est déjà indiquer dans l'autre tableau sur la feuille enclenchement
Dim nom As Range 'Variable range pour trouver le nom de l'essai Copier
Dim duretemin As Range ' Variable pour trouver la durée te de l'essai copier
Dim firstplage As Range
Worksheets("Enclenchement de tâche").Activate
Set F1 = Worksheets("Feuil1")
Set F2 = Worksheets("Enclenchement de tâche")
'Ecriture du tableau recompiler
entete = Array("Temps", "Emplacement", "Essais", "Durée Te(min)")
Cells(2, 1) = entete(0)
Cells(2, 2) = entete(1)
Cells(2, 3) = entete(2)
Cells(2, 4) = entete(3)
zero = 0
'à T=0
F2.Cells(2, 1).Offset(1, 0).Value = "T0"
'Trouve pour chaque 0, l'emplacement associé et le compare. Si il sont différents, ils sont copiés
For Each Cell In F1.Columns(15).Cells
If Cell.Value = zero Then
Set emplacement = Cell.Offset(0, -2)
If emplacement.Address = firstaddress And firstaddress = "" Then
Else
Set dejapresent = F2.Columns(2).Find(what:=emplacement.Value, LookIn:=xlValues, LookAt:=xlWhole)
If emplacement.Address <> firstaddress And dejapresent Is Nothing Then
emplacement.Copy Destination:=Sheets("Enclenchement de tâche").Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
Set nom = emplacement.Offset(0, -1)
nom.Copy Destination:=Sheets("Enclenchement de tâche").Range("C" & Rows.Count).End(xlUp).Offset(1, 0)
Set duretemin = emplacement.Offset(0, 1)
duretemin.Copy Destination:=Sheets("Enclenchement de tâche").Range("D" & Rows.Count).End(xlUp).Offset(1, 0)
Else
Set firstplage.Address = firstaddress
End If
firstaddress = emplacement.Address
End If
End If
Next Cell
End Sub |
Partager