Rechercher une valeur sur une plage en fonction de certaines contraintes [Résolu/Fermé]

Signaler
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019
-
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019
-
Bonjour,
Je me permets de vous solliciter, car je n'arrive pas à faire une formule excel qui me permet de récupérer des données en fonction d'un certain nombre de contraintes.


Je vous donne un exemple :
, disons par exemple ref.312002. (vous pouvez le voir dans la photo ci jointe)

Cette dernière a une emplacement de stockage bien particulier. J'ai rempli une feuille excel qui recense tous les lieux de stockage. (vous pouvez voir son emplacement sur les cellules fusionnées entourés)
Cette référence a une adresse qui est composé de la manière suivante :
- Allée (P)
- Face (I)
- Travée (035)
- Niveau (00)
- Emplacement (A)

Je dois retrouver l'adresse (composé de ces 5 points) de l'article 312002 parmi une plage définie.
J'ai essayé d'utiliser la fonction recherche V, Index, Indirect... rien ne fonctionne car dans ce cas je suis en ligne et non en colonne.
Mon chef ne sait pas utiliser VBA, je ne veux donc pas rentrer dans du VBA. de préférence ^^






Pouvez vous m'aiguiller vers la bonne solution.
N'hésitez pas à me poser des questions si je n'ai pas été assez clair.

Je vous remercie beaucoup.
Je peux aussi faire passer le fichier afin que vous puissiez mieux comprendre et analyser le problème.
(voici le lien, pour ceux que cela pourrait aider : https://www.cjoint.com/c/HKclPIcdriT)
Encore merci de votre aide

palban53

16 réponses

Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Eh bien votre lien n'est plus disponible, dommage.
Cela m'intéresse va pas être simple avec des cellules fusionnées.

Salutations.
Le Pingou
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonjour,
Je vous remercie de vous interresser a mon cas. Toute la complexité est la ...
je vous renvoie un nouveau lien demain. Je suis en déplacement jusqu’à demain.

Merci
Bonne journée

Je vous remercie de votre aide
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonjour,
Je vous donne un nouveau lien afin que vous puissiez mieux appréhender la problématique rencontrée.

Voici le lien:
https://transfernow.net/61khp1810ycs (dite moi si ce lien fonctionne)

Merci de votre aide
Bonne soiree
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonsoir,
J'ai téléchargé votre fichier.
Je regarderai dès demain.
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonjour,
Merci de votre aide

Bonne journée

Cordialement
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Ou doivent-être indiquées les diverses adresses de la référence 312002…… en un bloc :PI03500A ou chacune une cellule !!!
Est-ce que la plage représentée (le bloc) a toujours le même nombre de lignes et colonnes, Oui / Non ?

palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

bonjour,
Les diverses adresses doivent être marquées dans le tableau ci joint.
Cela signifie que les références sont déjà toutes notées.
Il faut ensuite, via la fameuse formule, remplir les données dans les cases associées:
- Allée (P) (pour cette exemple : cellule J96)
- Face (I) (pour cette exemple : cellule k96)
- Travée (035) (pour cette exemple : cellule L96)
- Niveau (00) (pour cette exemple : cellule M96)
- Emplacement (A) (pour cette exemple : cellule N96)

Le tableau se trouve en dessous à partir de la ligne 96

En ce qui concerne les blocs, ils ne sont pas toujours de la même largeur. Vous pouvez le constater dans les différentes gares (la plage totale va de la cellule V5 à JLL86).


Merci de votre aide

Coridalement
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Merci pour l’information c’est OK.
Question pourquoi des blocs de 417 colonnes alors qu’il n'y a pas plus de 10 à15 données sur une ligne….. ?

palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

C’est un choix en prévision des évolutions futurs.
Cordialement
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Merci.
Je suis sur le problème et je pense que vu la structure des blocs avec cellules fusionnées via les fonctions cela va être très complexe. Peut-être il faudra passer par fonctions personnalisées VBA.
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonjour,
Prendre la première cellule fusionnée ne permet pas de faire la fonction correctement ?

Pk pas par VBA. Après mes connaissances via VBA Reste limitée. Il me faudra du temps pour faire une ébauche.

Je vous remercie
Cordialement
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Eh oui la première c’est bon, par contre les autres ne sont pas toujours fusionnée avec le même nombre de colonnes… et c’est là un problème en plus…
Je poursuivrai demain.

palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonsoir,
Je vous remercie pour toute l'aide que vous m'apportez.
J’espère que vous trouverez la solution.

encore merci
Bonne fin de soirée

Cordialement
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
J’ai une piste via fonction que je dois finalisée d’ici ce soir. J’espère que se sera bon.
Bonne journée.

palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonjour, Je rentre seulement du travail.
Je vous prie de m'excuser pour cette réponse tardive.

Je pensais à une solution. 1 première fonction qui définit la cellule (je pense trouver la solution d'ici demain matin). Puis avec des index, on peut, peut être, trouver la valeur de la cellule recherchée pour chaque cellule associée à l'adresse de la référence.


C'est une trés bonne nouvelle !! Je vous remercie vraiment pour votre aide. Peut être avez vous pensé à une solution qui se rapproche de mon idée.

Cordialement
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Il semble que je suis sur la bonne voie : voir la feuille « Test_Gares ». Cependant je tombe sur un problème car le début des plages ( P ) ne commence pas toujours au début du bloc correspondant (expl : (P,I.035) avec T55 et bloc T56 et pour (P,I,033) avec PZ55 et bloc QB56 ….c’est encore plus sur les suivants. Il faut tous les contrôler et les corriger. https://mon-partage.fr/f/wnhVloZY/
La suite demain.
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonjour, Je rentre seulement du travail.
Je vous prie de m'excuser pour cette réponse tardive.

Je pensais à une solution. 1 première fonction qui définit la cellule (je pense trouver la solution d'ici demain matin). Puis avec des index, on peut, peut être, trouver la valeur de la cellule recherchée pour chaque cellule associée à l'adresse de la référence.
Je vous envoie une ébauche demain matin

C'est une trés bonne nouvelle !! Je vous remercie vraiment pour votre aide. Peut être avez vous pensé à une solution qui se rapproche de mon idée.

Cordialement
Le Pingou
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Merci, vais dodo.
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonjour,
Voici la formule pour retrouver la cellule de la référence en question :
=ADRESSE(SOMMEPROD(($S$1:$LOH$90=A96)*(LIGNE($A$1:$A$90)));SOMMEPROD(($S$1:$LOH$90=A96)*(COLONNE($S$1:$LOH$90)));4)

Cependant c'est au moment de faire l'index, que je n'arrive pas faire la formule qui va bien en raison des décalages.
J'étais parti sur cette base :
=SI(ET($AR68="00";$AU68="A");DECALER(INDIRECT($AX68&":"&$AX68);-4;0);SI(ET($AR68="00";$AU68="B");DECALER(INDIRECT($AX68&":"&$AX68);-4;-2);SI(ET($AR68="00";$AU68="C");DECALER(INDIRECT($AX68&":"&$AX68);-4;-4);SI(ET($AR68="10";$AU68="A");DECALER(INDIRECT($AX68&":"&$AX68);-1;0);SI(ET($AR68="10";$AU68="B");DECALER(INDIRECT($AX68&":"&$AX68);-1;-2);DECALER(INDIRECT($AX68&":"&$AX68);-1;-4))))))


J'espère que cela vous aura aider

Merci
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Merci pour les informations. Il se trouve que votre formule ne fonctionne pas chez moi et retourne erreur >>>>> voir extrait ci-après.

palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019



Je ne comprends pas... Cela fonctionne chez moi ??
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Eh bien après divers tests en décortiquant la formule j’ai fini par trouver l’intrus. Le problème survient lorsque vous avez une fonction dans une cellule du tableau qui renvoie une erreur (#N/A) et il y en a un certain nombre. J’ai corrigé la fonction
(Exemple :
 = RECHERCHEV(CVA4;FEUIL2!$A$1:$E$5000;$DF$2;FAUX)) 
par
=SI(CVA4="";"";RECHERCHEV(CVA4;FEUIL2!$A$1:$E$5000;$DF$2;FAUX))
)
Image partie fichier à dispo.

palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Effectivement, il est nécessaire de modifier les formules du tableau.
Vous avez pu trouver ensuite à partir la cellule, faire un INDEX , DECALER pour trouver la bonne adresse ?

Merci de votre aide
Le Pingou
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Ce matin je suis sur une piste en utilisant une combinaison qui intègre la fonction "PETITE.VALEUR".

Je ferai la suite dans la soirée.
Bonne journée.
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonjour,
Je suis désolé pour la réponse tardive
ok. J’attends votre réponse
Merci beaucoup pour toute l’aide que vous m’apporter
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,

Mauvaise piste lorsque cellules contiennent du texte.
Suis de retour lundi pour reprendre cette partie.
Bon Week-end
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Petite info: j'ai tout repris à zéro et cette fois ça marche dans le bon sens. Reste plus qu'à imbriquer les diverses formules et se sera bon. Patience.
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonsoir,
Pas de problème. Je vous en demande déjà beaucoup...
Je suis désolé de cette réponse tardive, je n'ai pas pu me connecter ce weekend.

Je vous remercie beaucoup pour l'aide que vous m'apportez
Vous êtes un chef !

Encore merci
(juste à titre informatif, vous pensez pouvoir trouver la solution définitive à quel moment ?)

Cordialement
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Voici ma proposition qui se trouve sur la feuille « Test_GARES ».
Vue la complexité de la mise en place des blocs j’ai opté pour une solution mixte (fonction et VBA). Votre dossier : https://mon-partage.fr/f/WJSWm1fb/

palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonsoir,
Tout d'abord, un grand merci pour tout le travail accompli... J'ai compris votre raisonnement et le fait de prendre toutes les cellules indépendamment, ainsi que les 2 formules VBA pour faire le rassemblement était très bien vu de votre part.

Après réflexion, une formule : macro / VBA était la meilleure solution.




J'ai juste un petit problème sur les emplacements. Dans certains cas, comme vous pouvez le constater sur la photo, j’ai des "0" et je ne sais pas trop d'où cela vient...
Je pensais que cela était du au format de la cellule, mais non... Ai je manqué quelque chose ?

Merci encore de votre aide
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Merci de remplacer la valeur d’argument 50 par 100 pour la fonction « NivEmpl() »
En marge :
La mise en place des blocs qui n'est pas rigoureuse.
Par principe la première cellule d'un bloc c'est toujours en haut et à gauche puis sur la droite les autres blocs commencent sur la même ligne (en principe c'est ok chez vous) en verticale tous les blocs sont alignées sur la même colonne (là ce n'est pas le cas chez vous: exemple colonne "PX:PX" vous avez le bloc de la ligne 56 qui commence à la colonne "PY" ce qui induit un décalage vers la droite que le programme ce qui peut donner des résultat erronées.
Il faut absolument corriger les alignements.
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonsoir,
Merci pour l'info, je viens de faire la modification.
J'ai également compléter le tableau avec l'implantation finale
Cependant, quand j'ai ré ouvert le fichier, et que j'ai fait le changement, toutes mes valeurs sont passées en #REF#

En effet, j'ai voulu supprimer des tables pour alléger le fichier. Cela signifie que les valeurs en dessous sont erronées. Cette modif peut-elle avoir un impact sur le fichier.

Je vous laisse le lien, pour jeter un coup d'oeil rapide. Je suis sur qu'en 2 minutes vous aurez trouvé le problème :
https://mon-partage.fr/f/9m3u7XIy/


De plus, vous avez complément raison !!! Cependant, mon responsable voulait le fichier de cette manière là, impossible de le faire changer d'avis. Je n'ai pas eu le choix. mais vous avez totalement raison.

Merci pour votre réponse.
En espérant pouvoir trouver rapidement la solution.
Encore merci pour toute l’implication que vous avez porté pour mon cas
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Je regarderai votre dossier demain après-midi.
Ceci : Cependant, mon responsable voulait le fichier de cette manière-là, impossible de le faire changer d'avis
Pas de problème cela fonctionne très bien, faut juste être rigoureux avec la position des blocs et en plus éviter que des formules produisent des erreurs si une donnée manque….( utiliser le SI()…. !)
palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Bonsoir,
Merci pour votre réponse tardive.
J'attends votre réponse. Je suis curieux de savoir ce qui s'est produit...

OUI c'est une évidence, vous avez entièrement raison !
Pour la prochaine version, je prendrais les choses en main... Cela sera plus simple dans la mise en place des formules;

Cordialement
Bonne soirée
Messages postés
9517
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
30 décembre 2019
990
Bonjour,
Correction à bien plaire, voir note sur feuille « Test_GARES »
Le lien ; https://mon-partage.fr/f/VdX6LIy2/

palban53
Messages postés
43
Date d'inscription
lundi 2 janvier 2017
Statut
Membre
Dernière intervention
21 décembre 2019

Merci beaucoup de votre aide.
Je vais travailler sur les quelques erreurs qui restent.

C'était devant mes yeux et je ne pensais pas que cela pouvait avoir une incidence sur toutes vos formules.

Encore Merci !!!!