Boucle For each Boucle For each

Bonjour,

J’ai fait une boucle où les lignes et les colonnes sont variables sur une plage de cellule définis.

Et ma boucle recherche une certaine valeur (inconnue)

Et je veux que lorsque ma macro trouve la valeur, elle recueille la position de la cellule où la valeur se trouve et qu’elle me renvoie dans une autre cellule, l’heure qui se trouve dans la cellule où ma valeur a été trouvé (sachant que dans cette cellule on a ça : EX : 12/01/2022 09 :00 :00).

Voici ce que j'ai codé et je joins le fichier excel

Mais ça ne fonctionne pas. pour recueillir la position puis l'heure dans la cellule. Merci d'avance pour l'aide.

Sub Calcul_b1_etape0_et_BOR1()

Dim B1 As Integer
Dim High As Integer
Dim Low As Integer
Dim R1 As range
Dim R2 As range
Dim R3 As range

Dim Valeur As Variant

Dim Position As range
Dim j As Integer

Dim ligne As Integer
Dim colonne As Integer

j = 11

Set R1 = range("C11:C71")
Set R2 = range("D11:D71")
Set R3 = range("C71:D521")

High = WorksheetFunction.Max(R1)
Low = WorksheetFunction.Min(R2)

B1 = High - Low
range("B2") = B1
range("B3") = High
range("B4") = Low


For ligne = 71 To 521

For colonne = 3 To 4

For Each Valeur In R3

If Valeur > High Or Valeur < Low Then

Position = range(Cells(ligne, colonne))
Sheets(1).Cells(j, 10) = TimeValue(Position.Value)

GoTo Label

End If

Next

Next

Next

Label:

End Sub

7classeur1.xlsx (44.33 Ko)

Bonjour à tous !

Batourouciss, je ne pense pas qu'une boucle soit nécessaire on peut le faire avec fonction index & equiv à moins que vous préférez passer par une boucle

Voici un exemple dans le fichier

Bonne journée !

4batou.xlsx (45.95 Ko)

@ Nordik_Nation merci pour ta réponse. Mais je dois le faire sur VBA et avec une boucle parce que je ne cherche pas un maximum ou un minium.

Je cherche la première fois où soit : une certaine valeur (inconnue pour le moment) est supérieur au High (définis dans mon premier poste)

soit : une certaine valeur (inconnue pour le moment) est inférieur au Low (définis dans mon premier poste)

Le principe c'est que je ne sais pas laquelle de ces conditions sera atteinte la première.

A la suite de ça, j'obtiens ma valeur. Mais vu que j'ai beaucoup de données, je ne peux pas aller chercher sa position manuellement, donc il me faut une formule pour ça.

Ensuite, quand j'ai sa position, je ne veux extraire que l'heure qui est inscrite dans ladite cellule et la renseigner dans une autre.

Comment je peux faire ça et y introduire la fonction TimeValue?

Sheets(1).Cells(j, 10) = WorksheetFunction.INDEX(range("A71:A521");EQUIV(Valeur ; range("C71:D521");0)) ça ne fonctionne pas évidemment

Bonjour à tous

Batourouciss, voici ton fichier à adapter selon tes besoins

Bonne journée !

6batou.xlsm (55.38 Ko)

Bonjour à tous !

Batourouciss, autre essai

4batou.xlsm (89.29 Ko)

Mercii @Nordik_Nation tes deux codes m'ont beaucoup aidés

Rechercher des sujets similaires à "boucle each"