Réservation véhicules - recherche des doublons

Bonjour à toutes et à tous,

J'essaie dans mon tableau joint, de trouver les lignes qui sont en doublon

J'ai un véhicule, une date, une période (Matin , A-Midi, Journée) et des heures de début et de fin

Je n'arrive pas à trouver la bonne formule et suis en train de m'arracher les cheveux

Est-ce que ce que je souhaite est réalisable ?

Peut-être en VBA ?

Par avance merci

Bonjour,

Pourquoi ne faites-vous pas simplement une Mise en forme conditionnelle
- Sélectionnez A3 à A9
- cliquez sur l"icone "Mettre en forme conditionnelle"
- choisir "Nouvelle règle" --> "Utiliser une formule ...."
- dans la rubrique en dessous mettez cette formule --> =EQUIV($A3;($A$3:$A9);0)<>LIGNE()-2
- cliquez sur "Appliquer"

Si cela ne fonctionne pas, vérifiez que vous avez bien cette formule sans des éventuelles guillemets devant et derrière. Si oui, supprimez les puis cliquez sur OK

Si ok -->

Cordialement

Bonjour Dan et merci pour la réponse

En fait mon fichier est "un peu plus" complexe

Dans le fichier original, j'ai un USF de saisie des réservations et je voulais faire en sorte qu'il n'y est pas de doublon.
Je pensais le faire avec une simple formule, mais du coup non.

Du coup, je me suis fait une petite fonction VBA qui vérifie les données avant enregistrement
Il a fallu que je gère également le "chevauchement" si on utilise la voiture de 08:00 à 10:00, puis de 10:00 à 12:00

Je joins ci-dessous mon code, s'il peut servir à quelqu'un d'autre

Function VérifRésa(LeVéhicule As String, LaDate As Date, Hdeb, Hfin)
  Dim Lig As Long, NbLig As Long
  Dim Lo As ListObject
  Dim Min As Date, Max As Date
  ' Initialisation
  VérifRésa = True
  Hdeb = Hdeb + TimeValue("00:01:00")
  Hfin = Hfin - TimeValue("00:01:00")
  ' Définir le TS
  Set Lo = ThisWorkbook.Sheets("Base").ListObjects("TsBase")
  ' Nombre de ligne
  NbLig = Lo.ListRows.Count
  ' Parcourir chaque ligne
  For Lig = 1 To NbLig
    ' Si le véhicule est le même
    If Lo.DataBodyRange.Range("B" & Lig) = LeVéhicule Then
      ' Si la date est la même
      If Lo.DataBodyRange.Range("D" & Lig) = LaDate Then
        ' Heure inférieure et supérieures de la ligne
        Min = Lo.DataBodyRange.Range("F" & Lig)
        Max = Lo.DataBodyRange.Range("G" & Lig)
        ' Vérifier si la plage inférieure est dedans
        If Hdeb >= Min And Hdeb <= Max Then
          VérifRésa = False ' Réservation impossible
          Exit Function
        End If
        ' Vérifier si la plage supérieure est dedans
        If Hfin >= Min And Hfin <= Max Then
          VérifRésa = False ' Réservatino impossible
          Exit Function
        End If
      End If
    End If
  Next Lig
End Function

Je ne sais pas si il est bien optimisé, mais il me convient

Sujet résolu mais avec mon code

A+

Bonjour Fallout45, Dan

Effectivement, pour ce genre de sujet, on on y arrive souvent mieux avec une fonction VBA

Le code me semble tout à fait correcte, je mets vos dernier poste en résolu

Au plaisir

Rechercher des sujets similaires à "reservation vehicules recherche doublons"