Recherche de chaine depuis liste une cellule

Fermé
samari113 - 13 janv. 2011 à 17:27
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 14 janv. 2011 à 20:21
Bonjour,

je souhaite chercher dans des celulles non formaté et qui contiennent une chaine que je veux recuperer si cette derniere figure dans une autre colonne qui contient des chaines (nom de serveur)
A B
SND0300 {"CRF WIN0004 : Disk space usage (C:) snd0302a
SND0301 {"CRF LOG0001 : VUP0503 PLPRIPD1 alert log errors 20101201 18:37"
SND0302 {"CRF LOG0001 : SUP0631
SND0303
SND0331
VUP0503
SND0401
SND0506
SND0511
SND0590
SUP0631


Exemple je cherche dans "CRF WIN0004 : Disk space usage (C:) snd0302a" si existe une chaine figurant sur colonne A .

sachant que la colonne B a un formatage non standard , je ne sais pas ou peux se trouver la chaine que je recherche.


Merci d'avance

4 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
14 janv. 2011 à 00:44
Difficile à comprendre...
Je suppose que c'est sous Excel. Tu veux utiliser des macros VBA ou non ?
Où affiches-tu le résultat de ton test (<il y a une chaîne de caractères de A présente dans ma cellule Bn>) ?
Un tableau à 2 entrées me paraît plus logique...En colonne A, ce qui est en colonne B dans ton exemple. Et en ligne 1 ton actuelle colonne A.
0
Bonjour ,

déjà merci Zoul67 d'avoir répondu a mon poste.
oui en effet c'est sur excel . peut importe la méthode (Macro VBA ou fonction) l'essentiel c'est que je puisse réussir :) .
j'ai deux colonne A et B

A: contient des noms de serveur
b: Contient des alertes de ces serveurs

je voudrai mettre sur une colonne C le nom de serveurs qui figure dans chaque alerte .

Problématique : n'ayant pas le moyen de localiser par position ou se trouve la chaine qui contient le nom de serveur sur B , je me suis basé sur la colonne a qui contient une liste prédéfini de nom . mon idéé est une recherche sequentielle a partir de A sur sur C.

la fonction Recherchv me semble inadéquat pour ce genre de recherche.

qu'est ce que vous pouvez me proposer comme solution?

Merci pour votre soutien
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
14 janv. 2011 à 19:23
Bonsoir,

Si la forme A,B,C est obligatoire, je pense qu'il est plus simple d'utiliser une macro.
J'ai la flemme de le taper en vba, mais je peux te donner l'algo :

1. recherche de la dernière ligne non vide en colonne A (boucle While --> derligne =?)
2. tant que la cellule de la colonne Bn n'est pas vide (boucle While)
listeserveurs=""
boucle For sur les lignes 1 à derligne
Si InStr() > 0 alors listeserveurs=listeserveurs & Chr(10) &
FinSi
Cells(n,3).Value=listeserveurs
FinFor
FinWhile
Bon courage
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 244
14 janv. 2011 à 20:21
Bonsoir,

une proposition par formule :
en C1 :
=STXT(B1;MAX(SI(ESTERREUR(CHERCHE($A$1:$A$11;B1));0;CHERCHE($A$1:$A$11;B1)));7)
formule matricielle à valider par shift+ctrl+entrée

Pour ne pas doubler la longueur de la formule #VALEUR! est retourné si aucun serveur n'est trouvé dans la chaine.
De même j'ai supposé que les noms faisaient toujours 7 caractères.

eric
0