Recherche de caractères. [Excel] - Logiciels - Windows & Software
Marsh Posté le 21-03-2007 à 17:23:25
Bonjour
Oui l'erreur vient du fait que du moment qu'il ne trouve pas, il ne renvoit pas dans la condition NON du SI mais renvoit #Valeur!
Essaies de regarder du coté de la fonction TYPE.ERREUR() qui permet de tester si une formule renvoit une erreur ou pas.
PS : #Valeur! renvoit 3 avec TYPE.ERREUR()
Cordialement
Marsh Posté le 21-03-2007 à 17:26:48
Merci beaucoup pour ton aide dje69r !
Je vais tester ça de ce pas :]
Marsh Posté le 21-03-2007 à 17:35:02
Sinon beaucoup plus simple :
Tu vas dans Outils, Macro, Visual Basic Editor
Tu vas dans le menu Insertion, Module
Dans la zone blanche qui apparait qui doit s'appeler module1 tu saisis ceci :
Function Chercher(CelluleDnsLaquelleChercher, TxtAChercher)
a = InStr(1, CelluleDnsLaquelleChercher, TxtAChercher)
If a <> 0 Then
Chercher = 1
Else
Chercher = 0
End If
End Function
Ensuite, il suffit juste de saisir dans une cellule la fonction :
=CHERCHER(La cellule dans laquelle chercher ; le texte cherché)
Donc avec ton exemple :
=Chercher(F280;"49" ) <(--- Si c'est bon il met 1, sinon 0
Donc ensuite faire un =SI dessus devient simple.
Cordialement
Marsh Posté le 21-03-2007 à 17:45:27
Je modifie un peu, pour que tu puisses reprendre tes formules sans tout refaire :
Function Chercher(TxtAChercher, CelluleDnsLaquelleChercher)
a = InStr(1, CelluleDnsLaquelleChercher, TxtAChercher)
If a <> 0 Then
Chercher = 1
Else
Chercher = 0
End If
End Function
Donc avec ton exemple ca donne ca :
=SI(chercher("49";F280)=1;"CMR";SI(chercher("45";F280)=1;"CMR";SI(chercher("50/53";F280)=1;"CMR";SI(chercher("46";F280)=1;"CMR";SI(chercher("60";F280)=1;"CMR";SI(chercher("61";F280)=1;"CMR";"Non concerné" ))))))
Donc tu copies une de tes formules à toi sous Word, ca :
Code :
|
Tu fais Edition, Remplacer, tu remplaces CHERCHE par CHERCHER
Ensuite, tu remplace F280) par F280)=1
Et le tour est joué
Cordialement
Marsh Posté le 21-03-2007 à 16:35:10
Bonjour :]
Voici mon problème :
j'ai un fichier excel contenant environ 8000 cases de ce type : '26-36/37-45-50/53'
Je veux afficher un texte dans la case d'à côté suivant ce que l'on y trouve.
Plus précisément, si on trouve une de ces chaînes de caractères : '49', '45', '50/53', '46', '60' ou '61',
je veux afficher le texte "CMR", si l'on trouve aucune de ces chaînes dans la case, je veux afficher "Non concerné".
Voilà la formule que j'ai écrite :
Mais le résultat de cette formule n'est pas bon, bien que la formule me paraisse valide.
Ca m'affiche "CMR" seulement si la valeur est égale à 49, autrement, j'ai le texte "#VALEUR!" qui est affiché,
pour n'importe quel contenu examiné (chaîne recherchée ou pas).
Quelqu'un saurait d'où vient l'erreur ?
J'ai essayé pas mal de trucs mais rien n'y fait
Merci d'avance.
---------------
Soon.