Bonjour à tous,
Dans la colonne 5 d'une feuille j'ai des heures au format hh:mm
Pour simplifier et surtout pour éviter les multiple Select de la boucle, j'ai remplacé cette portion de code :
'On recherche le premier 00:00 de la colonne 5
If Hour([E4]) = 0 And Minute([E4]) = 0 Then GoTo 1
[E4].Select
Do While Hour(ActiveCell) <> 0 Or Minute(ActiveCell) <> 0
ActiveCell.Offset(1).Select
Loop
1
Par celle-ci:
'On recherche premier 00:00
If Hour([E4]) = 0 And Minute([E4]) = 0 Then GoTo 1
Dim Trouve As Date
Trouve = "00:00"
Cible = Columns(5).Find(What:=Trouve, lookat:=xlWhole).Offset(-1, 1).Address
1
Je souhaiterai modifier cette portion de code de la même manière mais pour trouver le dernier 23:50 de la colonne 5
'On recherche le dernier 23:50 de la colonne 5
If Hour([E4].End(xlDown)) = 23 And Minute([E4].End(xlDown)) = 50 Then GoTo 2
[E4].End(xlDown).Select
Do While Hour(ActiveCell) <> 23 Or Minute(ActiveCell) <> 50
ActiveCell.Offset(-1).Select
Loop
2
J'ai donc modifié comme ci-dessous:
'On recherche le dernier 23:50 de la colonne 5
If Hour([E4]) = 23 And Minute([E4]) = 50 Then GoTo 2
Dim Trouve2 As Date
Trouve2 = "23:50"
mais je passe des heures à chercher la syntaxe de cible2 qui doit trouver le dernier 23:50 de la colonne 5 et non le premier comme c'est le cas bien sûr avec :
Cible2 = Columns(5).Find(What:=Trouve2, lookat:=xlWhole).Offset(-1, 1).Address
2
Quelqu'un a-t-il la solution si bien évidement cela est possible avec la fonction Find
Bien à vous
Christian
Dans la colonne 5 d'une feuille j'ai des heures au format hh:mm
Pour simplifier et surtout pour éviter les multiple Select de la boucle, j'ai remplacé cette portion de code :
'On recherche le premier 00:00 de la colonne 5
If Hour([E4]) = 0 And Minute([E4]) = 0 Then GoTo 1
[E4].Select
Do While Hour(ActiveCell) <> 0 Or Minute(ActiveCell) <> 0
ActiveCell.Offset(1).Select
Loop
1
Par celle-ci:
'On recherche premier 00:00
If Hour([E4]) = 0 And Minute([E4]) = 0 Then GoTo 1
Dim Trouve As Date
Trouve = "00:00"
Cible = Columns(5).Find(What:=Trouve, lookat:=xlWhole).Offset(-1, 1).Address
1
Je souhaiterai modifier cette portion de code de la même manière mais pour trouver le dernier 23:50 de la colonne 5
'On recherche le dernier 23:50 de la colonne 5
If Hour([E4].End(xlDown)) = 23 And Minute([E4].End(xlDown)) = 50 Then GoTo 2
[E4].End(xlDown).Select
Do While Hour(ActiveCell) <> 23 Or Minute(ActiveCell) <> 50
ActiveCell.Offset(-1).Select
Loop
2
J'ai donc modifié comme ci-dessous:
'On recherche le dernier 23:50 de la colonne 5
If Hour([E4]) = 23 And Minute([E4]) = 50 Then GoTo 2
Dim Trouve2 As Date
Trouve2 = "23:50"
mais je passe des heures à chercher la syntaxe de cible2 qui doit trouver le dernier 23:50 de la colonne 5 et non le premier comme c'est le cas bien sûr avec :
Cible2 = Columns(5).Find(What:=Trouve2, lookat:=xlWhole).Offset(-1, 1).Address
2
Quelqu'un a-t-il la solution si bien évidement cela est possible avec la fonction Find
Bien à vous
Christian