Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

SI RECHERCHEV Macro ?

VanessaeXcel

XLDnaute Nouveau
Bonjour,



Je ne sais pas quelle formule utiliser dans mon cas. une fonction SI intégrant des RECHERCHEV ne m'a pas apporter beaucoup de succès...

Voici ma formule :

=IF(C2>=VLOOKUP($B2,Feuille2!$A$1:$E$12,3,FALSE)&C2<=VLOOKUP($B2,Feuille2!$A$1:$E$12,4,FALSE),VLOOKUP($B2,Feuille2!$A$1:$E$12,5,FALSE),"OK")



Je vous joints un fichier avec deux feuilles, sur la Feuille 1 un relevé de panne par technicien et sur la feuille 2 un relevé de voyages par technicien, (Il y a 200 techniciens au total)

Je dois faire le lien entre ces deux feuilles (+60 000 lignes sur chaque feuille originalement)



Je cherche à savoir si des pannes ont eu lieu durant des voyages et à le retrouver visuellement.



(Idéalement je recherche à créer un outils qui me permettrais de contrôler sans grande manipulation à repérer les pannes la veille des dates de départ, le jour de la date de départ, pendant les absences, le jour de retour et le jour suivant la date de retour,)



Ce que je dois construire comme formule devrait ressembler à :



SI : Nom du tech (Feuille 1 Colonne B) & Nom (Feuille 2 Colonne A) correspondent

ET : Date de panne ( Feuille 1 Colonne C) est comprise entre la Date depart et Date retour (Feuille 2 Colonne C et D)

Alors : Une rechercheV pour que le Motif (Feuille 2 Colonne E) vienne sur la ligne correspondante en Feuille 1.



J'ai laissé ma formule et le résultat par recherchev sur le fichier,

J'ai créé un exemple de la valeur souhaiter sur la Feuille 1 pour la Ligne 3 en Colonne N (N3=Feuille2!$E$4) .



Je vous remercie d'avance pour votre aide cela fait deux jours que je suis dessus sans trouver de solution.



Bonne journée
 

Pièces jointes

  • Situation test.xlsx
    13.1 KB · Affichages: 32

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour VanessaeXcel,

Pour le fun par formule matricielle voir fichier joint. Par contre il vaut mieux du VBA car sur 60 000 ligne ca va mettre un temps fou (et la en VBA je suis une bille je passe donc la main)

Cordialement
 

Pièces jointes

  • Situation test.xlsx
    13.6 KB · Affichages: 35

VanessaeXcel

XLDnaute Nouveau
Bonjour Jocelyn,

Merci pour ton aide,

Peux tu m'expliquer comment marche ta formule ?

=IFERROR(INDEX('[Situation test.xlsx]Feuille2'!$E$2:$E$12,SMALL(IF(('[Situation test.xlsx]Feuille1'!B12='[Situation test.xlsx]Feuille2'!$A$2:$A$12)*('[Situation test.xlsx]Feuille1'!C12>='[Situation test.xlsx]Feuille2'!$C$2:$C$12-1)*('[Situation test.xlsx]Feuille1'!C12<='[Situation test.xlsx]Feuille2'!$D$2:$D$12+1),ROW('[Situation test.xlsx]Feuille2'!$E$2:$E$12)-1),1)),"")

J'ai repris ton fichier et modifier le motif d'une panne mais la valeur ne s'actualisé pas...

Le VBA je ne m'y connais pas non plus... Help !

Cordialement
 

VanessaeXcel

XLDnaute Nouveau
Bonjour Bertrand,

J'ai bien effectuer cette manipulation crtl+shift+enter maisles valeurs qui apparaissent sont erronées...
Je joint un fichier plus grand mais avec moins de details,

Je cherche simplement a faire apparaitre le lieu de voyage sur la ligne de la panne, si voyage il y avait à la meme date... Excel je te survivrais...

Merci de ton aide
 

Pièces jointes

  • Compilation Extraction Test2.xlsx
    269.4 KB · Affichages: 35

Jocelyn

XLDnaute Barbatruc
re,
Bonjour Bertrand,

J'ai remis les formules avec en plus la création de plage nommée dynamique pour alléger la formule

Voila si tu a des question n'hésites pas

Cordialement
 

Pièces jointes

  • Compilation Extraction Test2.xlsx
    240.3 KB · Affichages: 42

VanessaeXcel

XLDnaute Nouveau
Bonjour Jocelyn,
Bonjour à Tous,

Merci encore pour ton aide,

Peux tu m'expliquer ta formule (son fonctionnement pour pouvoir l'adapter à d'autres cas) ?
=IFERROR(INDEX(Desti,SMALL(IF((Nom=A6)*(B6>=deb-1)*(B6<=Fin+1),ROW(Nom)-1),1)),"")

Elle me permet de retrouver ce que je cherche à j-1, pendant et à j+1
Je dois maintenant sélectionner uniquement les éléments compris pendants les déplacements, comme ta formule le faisait également je me disais qu'il suffit de la simplifier, non ?

Cordialement
 

Jocelyn

XLDnaute Barbatruc
Bonjour,

alors un essai d'explication la partie sierreur facile ne rien mettre si la formule index est en erreur

après

INDEX(Desti,SMALL(IF((Nom=A6)*(B6>=deb-1)*(B6<=Fin+1),ROW(Nom)-1),1))

ici on va chercher une valeur dans la plage Desti (feuille extrac voyage colonne E) pour déterminer quelle valeur on veut dans cette colonne on se sert de :

SMALL(IF((Nom=A6)*(B6>=deb-1)*(B6<=Fin+1),ROW(Nom)-1),1)

ici la petite.valeur est conditionnée SMALL(IF(

première condition (Nom=A6) que le nom en A6 soit le même que celui de la plage nommée "NOM" (feuille extrac voyage colonne A)
2 ième condition la date de la panne en B6 soit supérieure ou égale a la date de la plage nommée deb (feuille extrac voyage colonne C) -1 (pour prendre un jour avant)
3 ième condition la date de la panne en B6 soit inférieure ou égale a la date de la plage nommée fin (feuille extrac voyage colonne D) +1 (pour prendre un jour après)

quand ces 3 conditions sont réuni on prend la valeur Desti (feuille extrac voyage colonne E) sur la petite valeur.valeur du numéro de ligne ROW(Nom)-1 (le moins 1 permettant de démarrer les numéro de ligne a 1 puisque la plage débute réellement en ligne 2)

a partir du moment ou petite.valeur est ecrit : SMALL(IF( nous somme dans une validation matricielle

donc pour ne prendre en compte que la durée du déplacement il suffit dans la formule d'origine de suprimer le -1 qui suit deb et le +1 qui suit fin

ce qui donne

=IFERROR(INDEX(Desti,SMALL(IF((Nom=A6)*(B6>=deb)*(B6<=Fin),ROW(Nom)-1),1)),"")

Voila j'espère avoir été claire si non n'hésites pas

Cordialement
 

VanessaeXcel

XLDnaute Nouveau
Jocelyn,

Je te remercie pour tes explications,

Lorsque je retire le -1 après deb et le +1 après Fin,
Pour conserver la recherche mais sans prendre en considération la veille du départ et le jours suivant le retour,
Les résultats semblent être aléatoire comme il me trouve des données alors que le Nom ne correspond pas...

Pourrais tu me mettre cette formule sur les feuille 1 et 2 en fonction du Nom, de dates de debut et de fin en feuille 3 ?

Merci beaucoup pour ton aide
 

Pièces jointes

  • COMPIL P .xlsx
    1.3 MB · Affichages: 30

Jocelyn

XLDnaute Barbatruc
re,

Hum hum je ne comprends pas tout suivant le fichier que tu as posté les absence correspondent a des congés ou des récupération ou des RTT donc je ne comprend pas comment dans les autres feuilles qui liste les frais de déplacement on va pouvoir trouver dans ces frais des dates et des noms alors que les salariée ne travaille pas

une petite explication complémentaire stp

Cordialement
 

Jocelyn

XLDnaute Barbatruc
re,

Hum hum, je te mets quand même un fichier par contre pour la feuille Prises carburant je n'ai pas mis la formule je ne savais pas sur quelle colonne de date l'appuyer

Cordialement

EDIT Suppression de la pièce jointe
 
Dernière édition:

Jocelyn

XLDnaute Barbatruc
re,

Je supprime le fichier du message précédent j'ai une petite erreur dedans cellule J2 de la feuille Compil péage il y a dans la formule un #REF!

Nouveau fichier

Cordialement
 

Pièces jointes

  • COMPIL P .xlsx
    1.5 MB · Affichages: 38

VanessaeXcel

XLDnaute Nouveau
Re Jocelyn,

Merci beaucoup,

Le carburant n'est pas a regarder de toute façon j'avais oublier de le retirer...
Merci pour ton aide,

La feuille Parking semble donner des résultats concluants cependant la feuille Péage n'affiche aucun résultat...

J'ai testé manuellement et je ne comprends pas ce que cela me fait...
 

Jocelyn

XLDnaute Barbatruc
Bonjour,

Suivant ton dernier message il faudrait a priori trouver des données dans la feuille Péage, je nais vraiment pas le temps d'éplucher manuellement cette feuille dis moi quelle sont les motifs d'absence qui devraient apparaitre et pour quel nom et date (quelques un seulement) je regarderais à la formule.

Cordialement
 

VanessaeXcel

XLDnaute Nouveau
Bonjour Jocelyn,

Il faut trouver les donner dans la feuille CONGES pour que sur la feuille péage apparaisse le type de congés (RTT, CONGES PAYES, RECUPERATION) au moment du passage en peage, comme sur la feuille Parking.

Je t'ai rajouter ma recherche manuelle en feuille 4 de tous les passages en peages d'une personne pour verifier facilement.

Merci beaucoup pour ton aide précieuse,
Sans toi je serais perdu, je ne maitrise pas assez excel et si je dois tout faire manuellement je vais y passer un mois... Je dois présenter cela aujourd'hui si possible...

Bien cordialement
 

Pièces jointes

  • COMPIL P .xlsx
    1.5 MB · Affichages: 33

Discussions similaires

Réponses
3
Affichages
461
Réponses
10
Affichages
370
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…