Comparaison des heures

Bonjour à tous,

J'essaye de coder en VBA et je rencontre un problème dans mon code pour comparer des heures. Je dispose de 2 fichiers, et les heures à comparer sont dans des fichiers différents. BREF.

En gros mon soucis est que l'affichage est bien en format heure, c'est à dire HH:MM. Je cherche à faire une comparaison de manière à ne comparer que l'heure et pas les minutes, si on a la même heure, et bien je ferai un calcul, sinon je fais rien. Afin de faire cette comparaison sur les heure, j'ai donc fait un Left et pris les 2 premiers caractères mais ça ne marche pas.

Voici un bout de mon code :

For colonne1 = 3 To 26 'pour boucler sur le fichier et sur les les colonnes de ce fichier
                                heure = Sheets(5).Cells(4, colonne1).Value 'heure de référence                               
                                If Left$(Wb.Worksheets(1).Cells(ligne, 16).Value, 2) = Left$(heure, 2) Then 'c'est ça qui ne marche pas
                                        'MsgBox (Wb.Worksheets(1).Cells(ligne, 29).Value)

                                        'calcul du nombre de départs mensuels
                                        'Sheets(5).Cells(ligne1, colonne1).Value = Sheets(5).Cells(ligne1, colonne1).Value + Wb.Worksheets(1).Cells(ligne, 9).Value * 4 'car 4 semaines dans un mois
                                End If
                            Next colonne1

En fait ça ne marche pas ...j'ai fait un Msgbox pour bien voir si la comparaison a bien lieu et voir les données prises....et ça marche pas. J'ai remarqué que les données sont bien affichées en heures, mais malheureusement que je met le format de la cellule qui contient l'heure en standard, j'ai un chiffre du genre 0.42222 par exemple, du coup ça fait que ma comparaison avec les Left$ ne marche pas....en gros ça me compare les 2 premiers caractères de 0.4222 par exemple et pas en format heure et là ça me pause des soucis...car évidemment le code comparaison sera beaucoup plus compliqué...

Quelqu'un peut il me donner une astuce s'il vous plait, pour pouvoir comparer en format heure?

Merci beaucoup !

Bonjour Eléphant

Essaye comme ceci

  Dim Heure As Integer
  For colonne1 = 3 To 26  'pour boucler sur le fichier et sur les les colonnes de ce fichier
    Heure = Hour(Sheets(5).Cells(4, colonne1).Value)  'heure de référence
    If Hour(Wb.Worksheets(1).Cells(ligne, 16).Value) = Heure Then  'c'est ça qui ne marche pas
      MsgBox (Wb.Worksheets(1).Cells(ligne, 29).Value)
      'calcul du nombre de départs mensuels
      'Sheets(5).Cells(ligne1, colonne1).Value = Sheets(5).Cells(ligne1, colonne1).Value + Wb.Worksheets(1).Cells(ligne, 9).Value * 4 'car 4 semaines dans un mois
    End If
  Next colonne1

A+

Merci beaucoup !!!!!

Rechercher des sujets similaires à "comparaison heures"