✅ Rechercher si une valeur est présente dans une cellule


#1

Bonjour à tous,

J ai une colonne A avec pas mal d infos dont des noms propres, et je voudrais afficher dans la colonne b, l affectation relative au nom de la colonne A.

J ai testé les formules si imbriquées mais je ne peux faire de 7 imbrications en même tps

Idéalement
J ai une liste de 19 noms et 19 affectations
Et dans un autre onglet je voudrais une formule permettant de dire que des que je trouve un nom du tableau je recopie l affectation dans la cellule.

Merci de votre aide et bonne soirée
Lamine


#2

Salut @Laminedor

Cela dépend de ton fichier, je ne suis pas sur de comprendre.

Tu peux uploader un exemple stp?


#3

Bonjour,

Merci de votre retour, je vous transmets le fichier en pièce jointe.
Je voudrais une formule (en colonne D).
sur la feuille base_1, A partir des noms de la colonne B, je voudrais faire apparaitre en colonne D, l’affectation
J’ai préparé une transco sur le 2ème onglet.(est il possible de faire référence au tableau dans la formule ?)
Idéalement je veux que ma formule comprenne les éléments suivant
1- je répète toutes les infos de la colonne C sur la colonne D sauf les cellules contenant “CDA SERVICE ACHATS IPN” que je vais essayer de répartir avec les noms de la colonne B (si j’en ai).
2- recherche à partir des noms de la colonne B, la correspondance dans transco
3- pour toutes les cellules ou je n’ai pas de nom je veux inscrire 'CDA SERVICE ACHATS IPN"

Par exemple en cellule D6 je dois avoir "UP SES PARIS NORD"
en cellule D4 "UP TRAVAUX"
en cellule D5 Synthèse_net.xls (2,2 Mo)
"CDA SERVICE ACHAT IPN"
Est ce réalisable selon vous ? je ne veux pas de macro

Un grand merci


#4

Hello

Voici la formule qui te permettra de faire cela (formule vectorielle à entrer avec Ctrl+ Maj+Entrée )

=SIERREUR(INDEX(UP_Transco;MAX(SI(ESTERREUR(CHERCHE(noms_contact_achats;B2));-1;1)*(LIGNE(noms_contact_achats)-2)));"CDA SERVICE ACHAT IPN")

J’ai nommé les plages de la manière suivante:

  • La formule CHERCHE() cherche le contenu de la cellule noms_contact_achats dans la cellule B2. Comme c’est une plage et nom une cellule, le résultat sera un vecteur contenant le résultat pour chaque cellule de la plage noms_contact_achats

  • La formule SI(ESTERREUR( );-1;1) permet de renvoyer 1 lorsque l’on trouve la valeur et -1 sinon.

  • La formule LIGNE(noms_contact_achats)-2) renvoie le numéro de la ligne ou se trouve la valeur trouvée

  • La formule MAX prend alors le maximum de toutes les valeurs renvoyées par la formule vectorielle sur noms_contact_achats, ce sera donc des nombres négatifs pour toutes les valeurs non trouvées et le numéro de la ligne de la valeur trouvée. Le max renvoie donc bien le numéro de la ligne.

*La formule INDEX renvoie la valeur contenue dans UP_Transco à la ligne trouvée

*La formule SIERREUR gère les cas ou l’on a pas trouvé de nom dans la première colonne et on renvoie ta valeur par défaut

Synthèse_net.xls (2,2 Mo)


#5

Bonsoir,

Merci beaucoup de votre retour,
J’ai oublié une donnée essentielle,
lorsque le contenu d’une cellule de la colonne C est différent de “CDA SERVICE ACHATS IPN” je souhaite reporter cette valeur de la colonne C à le colonne D.
Par exemple En D4 je dois avoir “UP TRAVAUX”.

J’ai essayé de recopier votre formule vers le bas et le VBA s’ouvre avec un message d’erreur.
Est il possible de régler cela ?

Merci de votre retour
Bonne soirée


#6

j’ai oublié de précisez le message d’erreur, _erreur de compilation, projet ou bibliothèque introuvable._lorsque je veux recopier la formule vers le bas

auriez vous un mail perso

Merci


#7

Dans ce cas il faut rajouter une formule SI autour

=SI(C2<>"CDA SERVICE ACHAT IPN";
C2;
SIERREUR(INDEX(UP_Transco;MAX(SI(ESTERREUR(CHERCHE(noms_contact_achats;B2));-1;1)*(LIGNE(noms_contact_achats)-2)));"CDA SERVICE ACHAT IPN"))

A priori ton erreur n’a rien a voir avec la formule mais avec ton code VBA.

Cette erreur s’affiche lorsqu’un addin est manquant donc je te suggère de vérifier tes addins dans Fichier > Options > Compléments


#8

Bonsoir,

J’ai recopier exactement la même formule que la tienne, et je ne trouve pas…:frowning:
En revanche je n’ai pas fait cela (formule vectorielle à entrer avec Ctrl+ Maj+Entrée ) ???

Mes addin je ne sais pas ce que c’est, tout comme les addin et le VBA…
Du coup je suis allé vérifier dans mes addin et apparment rien ne manque, je ne sais pas quoi rajouter ?

Merci en tout cas de ton aide, je progresse


#9

Quand tu es dans la cellule, valide la formule avec Ctrl+ Maj+Entrée et pas juste Entrée.
Des accolades doivent alors apparaître autour de ta formule { }


#10

Bonsoir,

C’est ok, ça marche, merci beaucoup