Méthode Find qui n'aboutit pas avant 10h00 du matin ???

Bonjour à tous,

La macro ci-dessous recherche dans la première feuille du classeur un horaire existant généré par une saisie à la souris dans la deuxième feuille du classeur.Lorsque l'horaire est supérieur à 10h00 du matin, la recherche aboutit et la suppression de l'horaire est effective, c'est ce que je veux.

En revanche, lorsque l'horaire est inférieur à 10h00 du matin, la recherche n'aboutit pas !!!

Une subtilité qui m'échappe !

Sub Effacement()

Dim CIBLE As String                                                                                 
Dim LSS As Integer                                                                                 

Dim I As Byte                                                                                    
Dim RHD As Object                                                                                  
Dim X As Byte                                                                                    

LSS = ActiveCell.Row
CIBLE = Format(ActiveSheet.Cells(2, ActiveCell.Column).Value, "hh:mm")

Application.ScreenUpdating = False

    For I = 1 To Sheets.Count
        Sheets(I).Activate

            Set RHD = Sheets("PLANNING").Range("E" & LSS & ":R" & LSS).Find(CIBLE, LookIn:=xlValues, LookAt:=xlWhole)
            If Not RHD Is Nothing Then
                Do
'                    MsgBox RHD.Address '
                    X = X + 1
                    RHD.ClearContents: RHD.Offset(0, 1).ClearContents
                Loop While Not RHD Is Nothing And RHD.Address <> RHD.Address
            Else
                MsgBox "La valeur cherchée n'existe pas !"
            End If
    Next I

Ecriture_Couleurs

End Sub

Dans le classeur joint, des précisions pour l'utilisation du classeur. Macro "Effacement" dans le module 1.

Merci de m'aider à résoudre cette particularité.

AL 22

Bonsoir AL 22,

L'heure pour 10:00 h est en valeur excel 0,41666...

Donc vu que qu'en dessous on a un zéro devant si l'on prend hh:mm, il est possible que cela influe sur la recherche.

LSS = ActiveCell.Row
Cible= iif(ActiveSheet.Cells(2, ActiveCell.Column).Value < 0,41666, Format(ActiveSheet.Cells(2, ActiveCell.Column).Value, "h:mm"), Format(ActiveSheet.Cells(2, ActiveCell.Column).Value, "hh:mm")

Note: je n'ai pas téléchargé le fichier.

Je le ferais si possible en fin de soirée.


Bonsoir X Cellus, bonsoir le forum,

Très, très bien vu !!!

Je n'ai pas pensé à mettre une condition...

J'ai corrigé ton idée comme ceci et "BOOM", ça fonctionne avec :

CIBLE = IIf(ActiveSheet.Cells(2, ActiveCell.Column).Value < 10, _
        Format(ActiveSheet.Cells(2, ActiveCell.Column).Value, "h:mm"), _
        Format(ActiveSheet.Cells(2, ActiveCell.Column).Value, "hh:mm"))

L'heure 0,41666... n'était pas plus reconnue, finalement 10 ça passe !

Je fais pleins de test d'abord puis je clôture le Post ensuite, bravo !

A+

AL 22

Rechercher des sujets similaires à "methode find qui aboutit pas 10h00 matin"