Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

EXCEL : Traitement chaine de caracteres

fanfi_du_94, le mardi 9 octobre 2007 à 14:12:25
Bonjour,
Je cherche une formule ou ensemble de formules sous excel qui me permettent de retrouver le nombre d'occurence d'une chaine de caracteres. Autrement dit sur un exemple : la cellule contient "TATA TOTO TATA TITI" , je cherche le nombre de fois où est ecrit "TATA" le nombre de TATA =2.
Est-ce quelqu'un aurait une idée de comment faire cela simplement sans passer par le VBA ?

Merci de votre aide

FF
Configuration: Windows 2000
Internet Explorer 6.0
Répondre à fanfi_du_94  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
xkristi, le mardi 9 octobre 2007 à 16:04:58
Bonjour !

NB.SI(A2:A6;"titi")

n'oublie pas de mettre le statut résolu si c'est le cas
xkristi
La vie en plus ...
Répondre à xkristi

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
eriiic, le mardi 9 octobre 2007 à 21:45:31
Bonjour,

Hummm, je crois que le texte est dans 1 cellule xkristi.

Si tu n'es pas limité en cellules tu peux utiliser CHERCHE(chaine;texte;n° départ) successivement en utilisant comme n°_départ le résultat précédent+1

ex:
A
1 TATA TOTO TATA TITI
2 =CHERCHE("TATA";A$1;1)
3 =CHERCHE("TATA";A$1;A2+1)
4 =CHERCHE("TATA";A$1;A3+1)
5 =CHERCHE("TATA";A$1;A4+1)
6 =CHERCHE("TATA";A$1;A5+1)
7 =CHERCHE("TATA";A$1;A6+1)
8 =CHERCHE("TATA";A$1;A7+1)
9 =NB(A2:A8)

résultat:
TATA TOTO TATA TITI
1
11
#VALEUR!
#VALEUR!
#VALEUR!
#VALEUR!
#VALEUR!
2

Reste à trouver la formule en 1 seule cellule ;-)
eric
Répondre à eriiic

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
xkristi, le mercredi 10 octobre 2007 à 17:22:47
Salut !

Juste une variante de disposition avec la fonction d'Eriiic qui a bien trouvé ( pas avec Trouve et avec CHERCHE)

mais pas possible en une cellule
et reste le problème d'avoir un m^me mot 2 fois ou plus dans la chaine de caractères
TATA en A$1 peut être changé par un autre mot

en A$1 TATA et la somme en B2 ou ailleurs
TATA SOMME(B2:B6)

TITI TATA TOTO TUTU SI(ESTERREUR(CHERCHE(A$1;A2;1));0;1) mets = et recopie incrément…
TOTO TITU 0
TITU TOTO TATA TATA 1 ne compte que le premier TATA
TOTO TATA 1
REVONS UN PEU 0
xkristi
La vie en plus ...
Répondre à xkristi

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
eriiic, le mercredi 10 octobre 2007 à 18:55:57
Je ne l'avais pas précisé mais en A9, avec =NB(A2:A8), je retourne 2 qui est le total de TATA dans la chaine
eric
Répondre à eriiic

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
xkristi, le mercredi 10 octobre 2007 à 19:15:12
eh bien Eriiic bravo !
je ne fais pas mieux !
Bonne soirée !

xkristi
La vie en plus ...
Répondre à xkristi

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
eriiic, le mercredi 10 octobre 2007 à 19:22:47
Merci
Bonne soirée à toi aussi :-)
Répondre à eriiic

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Le Pingou, le mercredi 10 octobre 2007 à 23:53:12
Bonsoir,
Oui xkristi ,on peut un peu plus si on passe par une petite macro ...
Très la passe de Eriiic... Salutations.
Jean-Pierre
Répondre à Le Pingou

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Le Pingou, le jeudi 11 octobre 2007 à 14:31:14
Bonjour fanfi_du_94,
Il est aussi possible de passer par une macro, basé sur la formule d’eriiic, complétée par xkristi, que voici : (à copier et coller dans la partie Déclarations d'une feuille)

Sub AnalyseChaine()
' Macro enregistrée le 11.10.2007 par Jean-Pierre Purro
Dim filtre As String
Dim nbpas, seaFilt As Integer

On Error GoTo SORTERROR
seaFilt = 0
filtre = Cells(1, 2)
nbpas = 0
Do While WorksheetFunction.Search(filtre, Cells(1, 1), 1 + seaFilt) > 0
seaFilt = WorksheetFunction.Search(filtre, Cells(1, 1), 1 + seaFilt)
nbpas = nbpas + 1
Loop
SORTERROR:
Select Case Err.Number
Case 1004
If nbpas > 0 Then
Cells(1, 3).Value = nbpas
Else
Cells(1, 3).Value = nbpas
End If
Case Else
' autre situations à traiter ici...
End Select
End Sub


La chaine de donnée se trouve en A1. La chaine cherchée en B1. Le résultat en C1.
Il vous suffit de lancer la macro via Alt+F8 et clic sur AnalyseChaine
Salutations.
Jean-Pierre
Répondre à Le Pingou

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
xkristi, le jeudi 11 octobre 2007 à 16:58:13
Bonjour Le Pingou

Je ne sais si Fanfi du 94 va repasser chercher sa réponse ...

merci pour la macro , un jour ou l'autre cela peut servir...
mais habituellement pour moi , c'est plutôt SQL et TCD
xkristi
La vie en plus ...
Répondre à xkristi

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Le Pingou, le jeudi 11 octobre 2007 à 18:29:47
Merci, de rein Salutations.
Jean-Pierre
Répondre à Le Pingou

11


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
eriiic, le samedi 13 octobre 2007 à 21:12:16
Pour le fun et bien ça n'interesse plus grand monde ;-) en 1 cellule :

en A1: TATA TOTO TATA TITI
en A2: =(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"TATA";)))/NBCAR("TATA") => 2

eric
Répondre à eriiic

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Le Pingou, le samedi 13 octobre 2007 à 21:33:51
Bonsoir,
Merci Eric, c'est super et beaucoup plus simple que mon code.
Je vais ranger et mémoriser précieusement cette combinaison, sans oublier d'étudier son fonctionnement. Salutations.
Jean-Pierre
Répondre à Le Pingou

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
xkristi, le samedi 13 octobre 2007 à 22:09:36
Bravo Eriiic
ça m'étonne , pas devant le rugby ????????
Bonne soirée ! xkristi
La vie en plus ...
Répondre à xkristi

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
eriiic, le samedi 13 octobre 2007 à 23:14:49
Et non, pas devant le rugby, ma télé et moi on est en froid...
Bon, je vous rassure, j'ai trouvé l'inspiration ailleurs ;-)
Bonne soirée à tout le monde
Répondre à eriiic

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Le Pingou, le samedi 13 octobre 2007 à 23:37:45
Bonsoir Eric,
Cette fonction "Substitue" gagne être bien connue et en combinaison avec "NbCar" cela devient de la mathématique élémentaire, un total moins la quantité restante et le tout divisé par le nombre de caractères cherché.
Encore bravo et merci de nous en faire profiter. Salutations.
Jean-Pierre
Répondre à Le Pingou

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
just1xpa2, le dimanche 14 octobre 2007 à 00:49:28
bonsoir pour le fun , ca m'interesse , eriiic le pinguoin , et xkristi
un petit plus pour ameliorer la formule, pour eviter une erreur en modifiant A2 , tu saisie en B1 TATA
en A1: TATA TOTO TATA TITI

en A2, a la place de cela =(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"TATA";)))/NBCAR("TATA") => 2

tu formules ainsi A2==(NBCAR(A1)-NBCAR(SUBSTITUE(A1;B1)))/NBCAR(B1) le resultat est le même ,

mais si tu recherche le nombre de fois TA par exemple en B1 , tu tapes exemple TA tu trouve 4
cela evite de changer dans la formule tout simplement ce que tu veux trouver

mais je vous laisse la palme de la formule,

bonne soirée et encore bravo Quand la base est saine, ceux qui interviennent derrière toi sont heureux 
à l'inverse, ils te maudissent ...
Répondre à just1xpa2

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Le Pingou, le dimanche 14 octobre 2007 à 14:29:58
Bonjour,
Eh bien , désolé, j'ai essayer, votre proposition ne fonctionne pas.
Jean-Pierre
Répondre à Le Pingou

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
just1xpa2, le dimanche 14 octobre 2007 à 17:22:12
autant pour moi, et avec mes excuses la bonne formule est en A2 celle-ci

=(NBCAR(A1)-NBCAR(SUBSTITUE(A1;B1;)))/NBCAR(B1)


il manquait le point virgule derrière de premier B1 dans la formule


cela ne change pas que la palme vous revient,
Quand la base est saine, ceux qui interviennent derrière toi­ sont heureux 
à l'inverse, ils te maudissent ...
Répondre à just1xpa2

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Le Pingou, le dimanche 14 octobre 2007 à 17:32:07
Bonjour,
J'ai tout contrôlé et j'ai fait un copier/coller votre formule et j'obtiens ceci #NOM? c'est inconpréhensile cette affaire. Avec l'autre formule de Eric c'est parfaitement correct.... j'enrage, c'est ou la bourde.... Salutations.
Jean-Pierre
Répondre à Le Pingou
Diviser chaine caractere excel (Résolu)Bonjour, Je cherche une fonciton dans Excel qui me permet de diviser cette chaine caractere 27.03.2008 08:56:00; 03.04.2008 11:53:00; 10.04.2008 12:24:00 dans trois cellule différentes par exemple ici A1, A2, A3 A1= 27.03.2008 (ou A1= 27.03.2008... www.commentcamarche.net/forum/affich-6317967-diviser-chaine-caractere-excel
[C] concaténer chaine caractère avec double (Résolu)Bonjour, voila j'ai besoin de gérer un filtre qui ne comprend que des chaines de caractère et mon parametre qui vari est un nombre de type doube pour resoudre mon probleme il faut don que je concatene une chaine caractère constante avec ma... www.commentcamarche.net/forum/affich-6375401-c-concatener-chaine-caractere-avec-double
[VBA Excel] pbm chaine caracteres (Résolu)bonjour, j'ai un petit souci avec mon application Excel. Je dois creer une chaine de caracteres s2 dont le nbe de caracteres depend du nbe de caracteres de la chaine s1. Comme je ne sais pas si c'est tres clair je prefere donner un exemple:... www.commentcamarche.net/forum/affich-3106832-vba-excel-pbm-chaine-caracteres
Sed - Introduction à SED - Part ISED - The Stream EDitor - Part I Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED" un... www.commentcamarche.net/faq/sujet-9536-sed-introduction-a-sed-part-i
Choix d'un portable (Résolu)Bonjour, Je voudrais savoir ce qu'il faut comme programmes et composants dans un portable pour faire du word, excel, traitement des photos et des vidéos. Il y a trop de choix dans le commerce je suis perdue. www.commentcamarche.net/forum/affich-6999805-choix-d-un-portable
[Excel] Macro traitement chaine de caractére (Résolu)Bonjour, j'ai un souci, je n'arrive pas à trouver la commande qui permet de spérarer une chaine de caractére et de traiter les entités ainsi séparées. Sous php je sais trés bien faire, il me cré un tableau que je peux manipuler, mais sous... www.commentcamarche.net/forum/affich-6763881-excel-macro-traitement-chaine-de-caractere
Syntaxe Chaine Caractère (Résolu)Bonjour tout le monde, Voilà, en fait je voudrais savoir si quelqu'un connais un bon tuto pour comprendre la syntaxe des chaines de caractère du genre : $syntax_mail = '#^[\w.-]+@[\w.-]+\.[a-zA-Z0-9]{2,15}$#i'; ou $syntax_zipcode =... www.commentcamarche.net/forum/affich-7349979-syntaxe-chaine-caractere
Javascript - L'objet String string est un mot anglais qui signifie "chaîne", il s'agit en fait de chaîne de caractères. L'objet String est un objet qui contient un certain nombre de propriétés et de méthodes permettant la manipulation de chaînes de caractères. L'objet string a... www.commentcamarche.net/javascript/jsstring.php3
Javascript - L'objet RegExp L'objet RegExp est un objet permettant de manipuler des expressions régulières, c'est-à-dire des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, afin de trouver des portions de la chaîne correspondant au... www.commentcamarche.net/javascript/jsregexp.php3
VBScript - Les fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes (InputStrings), selon les critères passés en argument. Value représente la chaîne à chercher. Include est une... www.commentcamarche.net/vbscript/vbs-fonctions-chaines-caracteres.php3
Toutes les réponses pour « EXCEL : Traitement chaine de caracteres »