Rechercher une valeur sur une plage en fonction de certaines contraintes

Résolu/Fermé
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 - Modifié le 2 nov. 2018 à 13:17
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 - 15 nov. 2018 à 20:50
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
A voir également:

16 réponses

Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié le 2 nov. 2018 à 14:59
Bonjour,
Eh bien votre lien n'est plus disponible, dommage.
Cela m'intéresse va pas être simple avec des cellules fusionnées.

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
3 nov. 2018 à 11:37
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
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
Modifié le 4 nov. 2018 à 19:39
Bonjour,
Je vous donne un nouveau lien afin que vous puissiez mieux appréhender la problématique rencontrée.

Voici le lien:
https://www.transfernow.net/files/?utm_source=61khp1810ycs&utm_medium=&utm_content=en (dite moi si ce lien fonctionne)

Merci de votre aide
Bonne soiree
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
4 nov. 2018 à 21:53
Bonsoir,
J'ai téléchargé votre fichier.
Je regarderai dès demain.
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
5 nov. 2018 à 08:31
Bonjour,
Merci de votre aide

Bonne journée

Cordialement
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
5 nov. 2018 à 18:31
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 ?

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
5 nov. 2018 à 19:55
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
5 nov. 2018 à 20:54
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….. ?

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
5 nov. 2018 à 21:26
C’est un choix en prévision des évolutions futurs.
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
6 nov. 2018 à 12:13
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.
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
6 nov. 2018 à 13:59
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
6 nov. 2018 à 17:59
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.

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
7 nov. 2018 à 00:17
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
7 nov. 2018 à 13:55
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.

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
7 nov. 2018 à 22:20
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
7 nov. 2018 à 21:45
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.
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
7 nov. 2018 à 22:29
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
7 nov. 2018 à 22:30
Merci, vais dodo.
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
8 nov. 2018 à 08:31
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
8 nov. 2018 à 14:51
Bonjour,
Merci pour les informations. Il se trouve que votre formule ne fonctionne pas chez moi et retourne erreur >>>>> voir extrait ci-après.

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
8 nov. 2018 à 16:10


Je ne comprends pas... Cela fonctionne chez moi ??
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
8 nov. 2018 à 19:00
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.

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
8 nov. 2018 à 23:19
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
9 nov. 2018 à 11:55
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.
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
10 nov. 2018 à 10:13
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
10 nov. 2018 à 11:24
Bonjour,

Mauvaise piste lorsque cellules contiennent du texte.
Suis de retour lundi pour reprendre cette partie.
Bon Week-end
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
12 nov. 2018 à 17:55
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.
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
12 nov. 2018 à 18:56
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
13 nov. 2018 à 14:00
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/

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
13 nov. 2018 à 20:53
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
13 nov. 2018 à 21:43
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.
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
14 nov. 2018 à 21:07
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
14 nov. 2018 à 21:56
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()…. !)
0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
14 nov. 2018 à 22:05
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
15 nov. 2018 à 08:04
Bonjour,
Correction à bien plaire, voir note sur feuille « Test_GARES »
Le lien ; https://mon-partage.fr/f/VdX6LIy2/

0
palban53 Messages postés 44 Date d'inscription lundi 2 janvier 2017 Statut Membre Dernière intervention 31 mars 2020 1
15 nov. 2018 à 20:50
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 !!!!
0