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

  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaires
    Inscrit en
    Février 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaires
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2015
    Messages : 18
    Par défaut Rechercher une date dans une colonne qui est entre 2 dates définies, qui renvoit (une fois trouvée) à un nom
    Bonjour à tous,

    J'aurais besoin de votre aide, n'étant pas expert, je me casse la tête depuis 2 jours sur un problème qui sera je pense, assez simple à résoudre pour quelqu'un d'expérimenté.

    Feuille 1 : j'ai plusieurs projets. Chaque projet est situé entres 2 dates.

    Ensuite,

    Feuille 2 : J'ai Quelqu'un qui a bossé sur ce projet à une date précise

    je voudrais qu'avec une recherche, que l'on trouve la personne qui a bossé à cette "date précise" entre les 2 dates.

    Pour faire plus simple, j'aimerais que la fonction (rechercheV je crois) trouve la date de la feuille 2 qui se trouve entre les dates de la feuille 1, et qu'il y fasse correspondre le nom associé.

    Voir mon fichier EXCEL ce sera plus simple.

    Merci de votre aide !!!

    test.xlsx

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Blacktizen Voir le message
    Bonjour,

    La relation entre les projets et les noms étant de 1 à plusieurs, il vous faut plutôt rechercher à quel projet correspond chaque nom dans la Feuil2.
    Ci-dessous, une solution parmi d'autres peut-être plus simples.

    Pièce jointe 388866

    Ci-joint votre fichier modifié :

  3. #3
    Membre émérite
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 678
    Par défaut
    Bonjour Blacktizen,

    En dévoyant la solution d'Eric Kergresse, le résultat attendu est obtenu en employant
    en colonne D de la feuille 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT("Feuil2!A"&EQUIV(A2;$Feuil2.C$1:C$5;0);1)
    qui affiche l'intervenant sur le projet,
    en colonne C de la feuille 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET($B2>=ENT(GAUCHE($Feuil1.B2;10));$B2<=ENT(GAUCHE($Feuil1.C2;10)));INDIRECT("Feuil1!A"&LIGNE();1);"W")
    qui affiche le projet correspondant aux datesBlacktizen-test-1.xlsx

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Blacktizen Voir le message
    Alors Blacktizen, aucun retour sur les deux réponses ?

  5. #5
    Membre éclairé
    Femme Profil pro
    Responsable audit interne
    Inscrit en
    Février 2016
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable audit interne
    Secteur : Santé

    Informations forums :
    Inscription : Février 2016
    Messages : 67
    Par défaut
    Citation Envoyé par njhub Voir le message
    Bonjour Blacktizen,

    En dévoyant la solution d'Eric Kergresse, le résultat attendu est obtenu en employant
    en colonne D de la feuille 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT("Feuil2!A"&EQUIV(A2;$Feuil2.C$1:C$5;0);1)
    qui affiche l'intervenant sur le projet,
    en colonne C de la feuille 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET($B2>=ENT(GAUCHE($Feuil1.B2;10));$B2<=ENT(GAUCHE($Feuil1.C2;10)));INDIRECT("Feuil1!A"&LIGNE();1);"W")
    qui affiche le projet correspondant aux datesBlacktizen-test-1.xlsx
    Ces formules ne fonctionnent que si l'intervenant 1 intervient dans le projet 1, l'intervenant 2 dans le projet 2, etc.
    Si on mélange l'ordre des projets de la première feuille, rien ne va plus !

    Je propose la solution suivante en VBA :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub IntervenantProjet()
     
    Dim NbLignesProjet As Long
    Dim NbLignesPersonnes As Long
     
    Dim i As Long
    Dim j As Long
     
    NbLignesProjet = Sheets("Projet").Cells(1, 1).CurrentRegion.Rows.Count
    NbLignesPersonnes = Sheets("Personnes").Cells(1, 1).CurrentRegion.Rows.Count
     
    For i = 2 To NbLignesProjet
     
        For j = 2 To NbLignesPersonnes
     
        If Sheets("Personnes").Cells(j, 2).Value >= Int(Sheets("Projet").Cells(i, 2).Value) _
        And Sheets("Personnes").Cells(j, 2).Value <= Int(Sheets("Projet").Cells(i, 3).Value) Then
        Sheets("Projet").Cells(i, 4).Value = Sheets("Personnes").Cells(j, 1).Value
        End If
     
        Next j
     
    Next i
     
    End Sub
    S'il y a plusieurs intervenants sur un même projet, c'est le dernier de la liste qui sera affiché.
    J'ai enlevé les " à " dans les dates/heures de début et fin des projets, comme ça on a une date et pas du texte ! (mieux pour les éventuelles réutilisations ultérieures)
    Je ne prend que la partie entière de la date pour le test, car par défaut l'intervention se faire à 0h00 en ne saisissant que la date et pas l'heure, donc ne rentre pas dans la fourchette d'heures sinon...
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 101
    Par défaut
    Salut

    Est-ce possible que des dates de projets ce chevauchent?
    Projet début Fin
    1 12/01/18 16/06/18
    2 15/03/18 19/10/18
    3 09/01/18 25/12/18

    A défaut, je propose une solution avec des formules matricielles


    ++
    Qwaz
    Fichiers attachés Fichiers attachés

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. [XL-2010] Somme sur une recherche de valeur dans plusieurs colonnes
    Par Marmouz dans le forum Excel
    Réponses: 2
    Dernier message: 21/01/2012, 15h06
  2. Recherche d'une chaine dans plusieurs colonnes
    Par darkgamin dans le forum Développement
    Réponses: 14
    Dernier message: 02/09/2011, 01h18
  3. Recherche d'une valeur dans plusieurs colonnes
    Par Arnaud F. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/03/2009, 11h44
  4. Recherche a récupérer ce qui est entre une date saisie et 9999-12-31
    Par Lolie11 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/06/2007, 14h58
  5. recherche entre deux dates dans une requête
    Par emmanuel4945 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/11/2006, 21h42

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