Recherche avec condition

  • Initiateur de la discussion Initiateur de la discussion djo973
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

djo973

Guest
Bonjour à tous 🙂

Voilà, je dois faire une recherche sur une colonne entière (A) et si la valeur recherchée est trouvée, je dois écrire dans la colonne (D).

Exemple:

Colonne A

10.10.148.XX
10.10.152.XX
10.10.164.XX
etc

Je voudrais faire:

Si je trouve "10.10.148" à "10.10.151" dans la colonne (A)
Alors j'écris "ok" dans les cellules correspondantes de la colonne (D)
Si je trouve "10.10.152" à "10.10.163" dans la colonne (A)
Alors j'écris "ok2" dans la colonne (D)
etc

Je pensais faire des "CASE"...
 
Re : Recherche avec condition

Bonjour djo973, salut Bruno 🙂

En effet ce n'est pas très très clair, mais peut-être essayer en D2 :

Code:
=SI(ET(GAUCHE(A2;9)>="10.10.148";GAUCHE(A2;9)<="10.10.151");"ok1";SI(ET(GAUCHE(A2;9)>="10.10.152";GAUCHE(A2;9)<="10.10.163");"ok2";""))
A+
 
Re : Recherche avec condition

Re,

On peut aussi essayer ceci :

Code:
=CHOISIR(EQUIV(GAUCHE(A2;9);{"";"10.10.148";"10.10.152";"10.10.164"});"";"ok1";"ok2";"")
Edit : oublié de dire qu'il faut tirer ces formules vers le bas, mais c'est évident...

A+
 
Dernière édition:
Re : Recherche avec condition

Je vais essayer d'expliquer ma requête autrement:

Comme vous avez pu le voir, la colonne A contient des adresses IP.
Suivant l'adresse IP, j'aimerai écrire le nom du réseau correspondant dans la colonne D.

Ex: de 10.10.148.0 à 10.10.151.0 -> "compta"
de 10.10.152.0 à 10.10.163.0 -> "paye"

Voilà 😉
 
Re : Recherche avec condition

Re,

Si vous voulez absolument une macro, en voici une :

Code:
Sub Recherche()
Dim plage As Range
Set plage = Range("D1:D" & [A65536].End(xlUp).Row)
plage.FormulaR1C1 = "=CHOOSE(MATCH(LEFT(RC1,9),{"""",""10.10.148"",""10.10.152"",""10.10.164""}),"""",""compta"",""paye"","""")"
plage = plage.Value 'facultatif, supprime les formules
End Sub
Tout bonnement elle entre en colonne D la formule de mon post #4 😎

Edit : remplacé "ok1" et "ok2" par "compta" et "paye".

A+
 
Dernière édition:
Re : Recherche avec condition

Bonjour djo973, le forum,

Je reviens avec une "légère" simplification :

- au post #3 remplacer les GAUCHE(A2;9) par... A2

- au post #4 remplacer GAUCHE(A2;9) par T(A2)

La fonction T() pour le cas où A2 n'est pas du texte (cellule vide, valeur numérique ou logique).

La macro devient :

Code:
Sub Recherche()
Dim plage As Range
Set plage = Range("D1:D" & [A65536].End(xlUp).Row)
plage.FormulaR1C1 = "=CHOOSE(MATCH(T(RC1),{"""",""10.10.148"",""10.10.152"",""10.10.164""}),"""",""compta"",""paye"","""")"
plage = plage.Value 'facultatif, supprime les formules
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
  • Question Question
Réponses
3
Affichages
96
regis6460
R
Réponses
7
Affichages
275
  • Question Question
Réponses
11
Affichages
378
Réponses
5
Affichages
290
Retour