IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Si Date est dans plage donnée pas tableau [XL-2010]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2004
    Messages : 47
    Par défaut Si Date est dans plage donnée pas tableau
    Bonjour,

    J'ai un tableau A qui contient 2 colonnes (date/heure de début et date/heure de fin).

    J'ai un autre tableau B qui contient une date/heure,

    Pour chaque ligne de B je voudrait voir sur la date/heure est comprise entre les dates du tableau A (ligne par ligne)

    Quelle fonction Excel peut faire cela.

    Merci de votre aide

    Vincnet68

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    A la lecture de ta question est-ce une date + une heure ou une date seule ?
    J'ai un autre tableau B qui contient une date/heure,
    Pour chaque ligne de B je voudrait voir sur la date/heure est comprise entre les dates du tableau A (ligne par ligne)
    En supposant que la date + heure à tester est en cellule D2 et qu'il s'agit bien de date + heure en colonne A (début) & B (fin)
    La fonction ci-dessous renverra VRAI si la date + heure est comprise entre la date + heure de la colonne A et la date + heure de la colonne B et FAUX dans le cas contraire
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2004
    Messages : 47
    Par défaut
    Salut Philippe,

    C'est bien date heure (15/12/2017 11:23:00)

    Par contre ta fonction marche avec une ligne uniquement, je souhaite faire cela sur l'ensemble du tableau (ligne par ligne)

    =OU(ET(D2>=A ligne x;D2<=B ligne x);
    ET(D2>=A ligne x+1;D2<=B ligne x+1);
    .....;
    ET(D2>=A ligne n;D2<=B ligne n))

    S'il n'existe pas de fonction je vais faire une macro.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Par contre ta fonction marche avec une ligne uniquement, je souhaite faire cela sur l'ensemble du tableau (ligne par ligne)
    Il suffit de tirer la formule vers le bas mais peut-être as-tu mal exprimé ta demande
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2004
    Messages : 47
    Par défaut
    C'est toujours D2 qui est analysé avec chaque ligne

    Bon j'ai fait une macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Public Function IsIgnored(valeurDate As Date) As Boolean
     
    Dim list As ListObject
    Set list = Sheets("Paramètres").ListObjects("JourIgnoré")
    Dim row As ListRow
    For Each row In list.ListRows
        If (valeurDate > row.Range.Cells(1, 1).Value And _
        valeurDate < row.Range.Cells(1, 2).Value) Then
            IsIgnored = True
            Exit Function
        End If
    Next
    IsIgnored = False
    End Function

    Et je l'appel dans la cellule.

    Merci

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est fou le nombre de personnes qui passe par du VBA alors qu'une simple fonction native d'Excel résout le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD( ($D$2>=Tableau1[Heure début]) * ($D$2<=Tableau1[Heure fin]) )=1
    Si tu avais été plus explicite dès l'ouverture de la discussion tu aurais déjà eu la réponse dès ma première intervention.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Verifier si une date est dans un intervalle
    Par Le gris dans le forum C#
    Réponses: 4
    Dernier message: 04/07/2011, 16h26
  2. renvoi données dans plage données
    Par vbahelp dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2010, 13h47
  3. [XL-2003] vérifier si heure + date est dans l'intervalle
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/05/2009, 17h46
  4. Un utilisateur est dans shadow, mais pas dans passwd
    Par gifffftane dans le forum Administration système
    Réponses: 2
    Dernier message: 03/12/2008, 17h03
  5. [Python2.4] Comment savoir si une date est jour férié ou pas ?
    Par Ekimasu dans le forum Général Python
    Réponses: 10
    Dernier message: 30/03/2007, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo