A voir également:
- Xxxmmmxxmm
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Calcul moyenne excel - Guide
- Caractère spéciaux - Guide
- Caractere speciaux mac - Guide
2 réponses
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
17 févr. 2016 à 16:57
17 févr. 2016 à 16:57
Par VBA, le simple code suivant calcule ce que vous cherchez :
Sub test()
m = 0
For i = 1 To Len(Cells(1, 1).Value) 'en A1 la cellule à analyser
If Mid(Cells(1, 1).Value, i, 1) = "M" And Mid(Cells(1, 1).Value, i + 1, 1) = "M" Then
m = m + 1
End If
Next i
Cells(1, 2).Value = m 'on met le résultat final en B1
End Sub
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
17 févr. 2016 à 17:16
17 févr. 2016 à 17:16
Par formule, je n'ai rien trouvé de mieux qu'une imbrication des SUBSTITUE en listant dans l'ordre décroissant les séries possibles de M à la suite.
Un exemple qui ne marche que si la série la plus longue de M à la suite est de 5 M (comme dans votre exemple) :
-> vous retrouvez bien 7 pour MMMMMMOOOMMMOO en A14
Un exemple qui ne marche que si la série la plus longue de M à la suite est de 5 M (comme dans votre exemple) :
=NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A14;"MMMMMM";"XXXXX");"MMMMM";"XXXX");"MMMM";"XXX");"MMM";"XX");"MM";"X");"M";"");"O";""))
-> vous retrouvez bien 7 pour MMMMMMOOOMMMOO en A14
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
17 févr. 2016 à 17:50
17 févr. 2016 à 17:50
Eheh je ne suis pas bien optimiste la-dessus, une solution pourrait être de faire référence à d'autres cellules dans lesquelles sont déjà imbriquées une partie des SUBSTITUE, ça permet de dépasser la limite mais c'est plutôt moche..
Mon conseil :
- Soit vous avez une liste fixe de séries à analyser, auquel cas vous identifiez en amont le maximum de suite de M et fonctionnez par formule tant bien que mal
- Soit votre liste est variable, à ce moment là je vous conseille de passer par VBA, (la macro que j'ai codé dans le commentaire précédant)
Voila je peux pas plus vous aider, si ce n'est sur l'utilisation de la macro (possibilité de la délencher automatiquement avant l'enregistrement par exemple, ou à la modif d'une cellule, etc.)
Mon conseil :
- Soit vous avez une liste fixe de séries à analyser, auquel cas vous identifiez en amont le maximum de suite de M et fonctionnez par formule tant bien que mal
- Soit votre liste est variable, à ce moment là je vous conseille de passer par VBA, (la macro que j'ai codé dans le commentaire précédant)
Voila je peux pas plus vous aider, si ce n'est sur l'utilisation de la macro (possibilité de la délencher automatiquement avant l'enregistrement par exemple, ou à la modif d'une cellule, etc.)
17 févr. 2016 à 17:40
17 févr. 2016 à 17:47
En clair :
1) activez les macros (recherche google si vous ne savez pas faire)
2) dans votre document, accédez au code VBA (Alt + F11) puis au code de la feuille qui vous concerne (mini fenêtre en haut à gauche, double clic sur la feuille)
3) collez ce code
4) Retournez sous excel (Alt F11 une nouvelle ou bien Alt + Q)
5) Exécutez la macro (Alt + F8 et choisir nom de la macro qui est "test" en l'occurrence ou bien créez un bouton en y affectant la macro)
C'est bien plus efficace que par formule mais bon ça demande de savoir utiliser les macros :s