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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| Sub detectionPalier()
Dim Palier As String
Dim Min As Single
Dim Max As Single
Dim tolerance As Date
Dim adr1 As String
Dim adr2 As String
Min = Cells(3, 1) 'valeur minimum de l'intervalle date
Max = Cells(4, 1)
' écart toléré par rapport à la date voulue
' PARAMETRES
tolerance = Cells(10, 1) '%
'Recherche Paliers
Worksheets("resultats").Activate
'Récupérer la valeur temporelle du palier dans la feuille resultat
Palier = Worksheets("resultats").Cells(3, 1) ' définition d'un intervalle
'Ajout d'une feuille
Worksheets.Add
ActiveSheet.Name = Palier 'l'appeler Palier fera que la feuille portera le nom de l'intervall
j = 1
i = 1
'ActiveSheet.Name = Format(Palier, "mm / ss, 0") 'à tester pour formater le nom
Worksheets("donnees").Activate
Z = 0
Fin = Worksheets("donnees").Cells(Cells.Rows.Count, 1).End(xlUp).Row 'Là, on demande au programme de chercher les données dans toute la feuille.
'On définit ici les bornes du palier
intervalle = Worksheets("donnees").Range("A3:A4") 'intervalle de dates entre min et max
While Z = 0
cellule = Cells(i, 1) ' cellule de la colonne 1 avec la ligne qui change à chaque itération
Cells(i, 1).Activate
If cellule >= Min Then
' CAS POSITIF
ActiveCell.Select
Selection.Copy
Worksheets(Palier).Paste
'adr1 = ActiveCell.Address
Worksheets("resultats").Activate
Range("B18").Value = "donnees!" & adr1
'MsgBox (ActiveCell.Address) 'On copie les valeurs sélectionnées
Z = 1 'arrêt de la boucle While
Else
' CAS NEGATIF
i = i + 1
Z = 0 'poursuite de la boucle While
End If
Wend
Worksheets("donnees").Activate
Z = 0
While Z = 0
cellule = Cells(i, 1) ' cellule de la colonne 1 avec la ligne qui change à chaque itération
Cells(i, 1).Activate
If cellule >= Max Then
' CAS POSITIF
ActiveCell.Select
Selection.Copy
Worksheets(Palier).Paste
'adr2 = ActiveCell.Address
Worksheets("resultats").Activate
Range("B19").Value = "donnees!" & adr2
'MsgBox (ActiveCell.Address) 'On copie les valeurs sélectionnées
Z = 1 'arrêt de la boucle While
Else
' CAS NEGATIF
i = i + 1
Z = 0 'poursuite de la boucle While
End If
Wend
End Sub |