Chaine de caractère dans Excel
Résolu/Fermé
Absalom996
Messages postés
10
Date d'inscription
mercredi 31 mars 2010
Statut
Membre
Dernière intervention
3 décembre 2010
-
Modifié par Absalom996 le 3/12/2010 à 17:49
Absalom996 Messages postés 10 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 3 décembre 2010 - 3 déc. 2010 à 22:48
Absalom996 Messages postés 10 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 3 décembre 2010 - 3 déc. 2010 à 22:48
A voir également:
- Chaine de caractère dans Excel
- Caractère ascii - Guide
- Liste déroulante excel - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Formule excel - Guide
2 réponses
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 211
3 déc. 2010 à 18:52
3 déc. 2010 à 18:52
Bonsoir,
Ca peut être fait par une fonction personnalisée à mettre dans un module.
Set motclé = Worksheets("Feuil1").[A1] défini le début des mot clés, à adapter à ta feuille.
Le dernier mot clé doit être suivi d'une cellule vide.
La colonne à sa droite contient les rubriques associées
Avec en B7 ton libellé à analyser la formule pour ramener la rubrique est :
=rubrique(B7)
eric
Ca peut être fait par une fonction personnalisée à mettre dans un module.
Function rubrique(chaine As String) As String Dim motclé As Range, ok As Boolean, n As Long Set motclé = Worksheets("Feuil1").[A1] Do If InStr(LCase(chaine), LCase(motclé.Offset(n, 0))) > 0 Then ok = True Else n = n + 1 End If Loop Until ok Or motclé.Offset(n, 0) = "" If ok Then rubrique = motclé.Offset(n, 1) Else: rubrique = "" End Function
Set motclé = Worksheets("Feuil1").[A1] défini le début des mot clés, à adapter à ta feuille.
Le dernier mot clé doit être suivi d'une cellule vide.
La colonne à sa droite contient les rubriques associées
Avec en B7 ton libellé à analyser la formule pour ramener la rubrique est :
=rubrique(B7)
eric
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 394
3 déc. 2010 à 19:02
3 déc. 2010 à 19:02
Bonjour
combien avez vous de mot clés à traiter?
Peut être un tuyau pour vous aider:
le code "*texte*" cherche si le mot entre guillemet se trouve dans le texte
idem pour le code "*"& Cell&"*" qui cherchera la présence du texte inscrit dans cell
ainsi:
=NB.SI(A1:A100;"*"& Cell&"*") vous donnera le nombre de cellule dans le champ qui comprennent dans leur texte le texte inscrit dans Cell
=RECHERCHEV("*"& Cell&"*";A1:A100;1;0)
vous ressortira le premier texte incluant le texte de Cell
par contre, s'il est nécessaire de chercher tous les mots à chaque ligne, ça risque de faire une formule comique selon le nombre de mots que vous voulez traiter, car il faut un code NB.SI par mot cherché.
ou alors renvoyez un tableau avec pour l'exemple:
de A2 à A1000 la liste des textes
de C1 à Z1 la liste en ligne des mots cherchés
de C2 à Z1000 la formule, à partir de C2:
=SI(NB.SI($A$2:$A$1000;"*"&C$1&"*")>0;C$1;"")
à tirer sur tous le champ C2:Z1000
elle vous renverra dans chaque colonne le mot titre s'il est dans la colonne A
Il y a aussi la possibilité de traiter ce tableau sur une feuille masquée et de ne renvoyer sur la feuille initiale que le titre trouvé.
ou pour une finir une macro, mais je laisse ça aux spécialistes.
crdlmnt
combien avez vous de mot clés à traiter?
Peut être un tuyau pour vous aider:
le code "*texte*" cherche si le mot entre guillemet se trouve dans le texte
idem pour le code "*"& Cell&"*" qui cherchera la présence du texte inscrit dans cell
ainsi:
=NB.SI(A1:A100;"*"& Cell&"*") vous donnera le nombre de cellule dans le champ qui comprennent dans leur texte le texte inscrit dans Cell
=RECHERCHEV("*"& Cell&"*";A1:A100;1;0)
vous ressortira le premier texte incluant le texte de Cell
par contre, s'il est nécessaire de chercher tous les mots à chaque ligne, ça risque de faire une formule comique selon le nombre de mots que vous voulez traiter, car il faut un code NB.SI par mot cherché.
ou alors renvoyez un tableau avec pour l'exemple:
de A2 à A1000 la liste des textes
de C1 à Z1 la liste en ligne des mots cherchés
de C2 à Z1000 la formule, à partir de C2:
=SI(NB.SI($A$2:$A$1000;"*"&C$1&"*")>0;C$1;"")
à tirer sur tous le champ C2:Z1000
elle vous renverra dans chaque colonne le mot titre s'il est dans la colonne A
Il y a aussi la possibilité de traiter ce tableau sur une feuille masquée et de ne renvoyer sur la feuille initiale que le titre trouvé.
ou pour une finir une macro, mais je laisse ça aux spécialistes.
crdlmnt
Absalom996
Messages postés
10
Date d'inscription
mercredi 31 mars 2010
Statut
Membre
Dernière intervention
3 décembre 2010
3 déc. 2010 à 22:48
3 déc. 2010 à 22:48
Merci pour votre réponse, j'ai testé et effectivement cela fonctionne mais étant donné qu'il est nécessaire, pour ce que je veux faire, de chercher l'ensemble des mots pour chaque ligne, ça n'est pas le plus pratique. En tout cas encore merci du temps que vous m'avez accordé !
3 déc. 2010 à 22:47