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

XL 2010 Recherche correspondances multi textes présents dans cellule sans doublons

richard31

XLDnaute Occasionnel
Voilà !
Sur le fichier joint j'ai la colonne L qui intègre plusieurs informations dans la même cellule (L17). Pour Chaque entrée dans L17 il y à une correspondence dans un tableau situé dans l'onglet "Contacts-Et-Annuaire". Quelqu'un d'ici m'a bien aidé pour gérer les menus multiples qui permettent de sélectionner les entrées différentes et les écrire dans la cellule L17. Par contre je n'arrive pas à faire le reste.
Lire chaque entrées dans la cellule L17 et écrire la correspondance en M17 du tableau présent en onglet "Contacts-Et-Annuaire" colonne B, et cela SANS DOUBLONS ! Exemple dans la cellule L17 on trouve dans la liste " Base de données et AGL Dev Qualif" Cette entrée est dans le tableau présent en onglet "Contacts-Et-Annuaire" en A6 et je voudrais récupérer la correspondance en face en B6 (qui est BC), le souci est que L17 comporte plusieurs entrées dans sa cellule, qu'i faut lire chaque entrées qui y est récupérée , je n'y suis pas arrivé avec la fonction INDEX EQUIV et en plus il faut le faire sans doublons (pour cela j'ai une fonction enregistrée dans le fichier mais ne fonctionne pas car je n'arriva pas à récupérer les correspondances)...

Bref je ne sais pas si cela est gérable en fonction et non en VBA. la liste des entrées que l'on peut sélectionner et écrire dans les cellules de la colonne L est la suivante :
Base de données et AGL Dev Qualif
Base de données Pre-Expo et Production
Middleware Dev Qualif
Middleware Pre-expo et Production
EIC
Infrastructure
Editique
Réseau
Expertise Exploitation
Flux Rég/Nat
Supervision
Pilotage exploitation Production
Pilotage exploitation Qualification
Rafraichissement d'environnements

J'ai essayé avec index equiv pour chaque entrée si elle est présente dans L17 d'aller chercher la correspondance dans le tableau présent en onglet "Contacts-Et-Annuaire" colonne B mais sans succès , surtout que cela doit être fait sans doublons.


Vous aves plusieurs codes VBA dans le doc :
un qui permet de créer des menus à multi sélections avec le gestionnaire de nom !
un autre qui permet d'avoir un calendrier en double cliquant sur une cellule
un autre qui permet de copier les entrées d'une cellule sans doublons
plus un autre qui ne permet pas d'entrer de doublons dans la colonne A
Si ça peut servir à d'autres
 

Pièces jointes

  • TRAVAIL.xlsm
    983 KB · Affichages: 15

richard31

XLDnaute Occasionnel
Bonjour,

Il me semble que tu cherches des complications inutiles car ta cellule L17 étant modifiée en VBA pourquoi ne pas rajouter dans le code la modification de M17 ?
CCj 'ai du mal m'exprimer ce n'est pas le but je dois recherches les correspondance des entrées sélectionnées par le menu dans L dans un autre tableau et sans doublons. Ce sont les correspondances que je n'arrive pas à faire car plusieurs entrées sont possibles dans les cellules...
 

richard31

XLDnaute Occasionnel
C'est ok j'ai réussi à me démerder avec cette formule :
=SI(NB.SI(L17;"*Base-de-données-et-AGL-Dev-Qualif*");(INDEX(Directions;EQUIV("*Base-de-données-et-AGL-Dev-Qualif*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Base-De-Données-Pre_Expo-Et-Production*");(INDEX(Directions;EQUIV("*Base-De-Données-Pre_Expo-Et-Production*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Middleware-Dev-Qualif*");(INDEX(Directions;EQUIV("*Middleware-Dev-Qualif*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Middleware-Pre_Expo-Et-Production*");(INDEX(Directions;EQUIV("*Middleware-Pre_Expo-Et-Production*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*EIC*");(INDEX(Directions;EQUIV("*EIC*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Infrastructure*");(INDEX(Directions;EQUIV("*Infrastructure*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Editique*");(INDEX(Directions;EQUIV("*Editique*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Réseau*");(INDEX(Directions;EQUIV("*Réseau*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Expertise-Exploitation*");(INDEX(Directions;EQUIV("*Expertise-Exploitation*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Flux-Rég/Nat*");(INDEX(Directions;EQUIV("*Flux-Rég/Nat*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Supervision*");(INDEX(Directions;EQUIV("*Supervision*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Pilotage-Exploitation-Production*");(INDEX(Directions;EQUIV("*Pilotage-Exploitation-Production*";Perimetre;0);1));"")& " "&SI(NB.SI(L17;"*Pilotage-Exploitation-Qualification*");(INDEX(Directions;EQUIV("*Pilotage-Exploitation-Qualification*";Perimetre;0);1));"")
& " "&SI(NB.SI(L17;"*Rafraichissement-D'environnements*");(INDEX(Directions;EQUIV("*Rafraichissement-D'environnements*";Perimetre;0);1));"")

Cela fonctionne il va bien rechercher les entrées dans la cellule et les correspondances dans le tableau j'ai juste enchainé SI et NB SI pour rechercher le texte dans la cellule avec index equiv. j'ai supprimé les espaces dans les textes recherchés qui faisaient buguer les recherches (dans le tableau cible ou je faisais les recherches bien sur aussi).
Bon c'est pas beau mais cela fonctionne .
 

gbinforme

XLDnaute Impliqué
Bonjour,

Bon courage pour faire de la maintenance surtout si tu dois rajouter une rubrique avec une formule de 1500 caractères.
Avec des formules nommées ou matricielles, ce serait sans doute plus lisible.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…