Compter une série de cellule avec texte
Résolu
rorocr
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
rorocr Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
rorocr Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Savez vous comment peut on compter le nombre de cellules consecutives contenant une même lettre dans le texte sur une plage horizontale?
Voici un exemple:
A-B-C-D-E-F-G-H-I-J-K-L-M
T-te-o-p-t-pe-o-p-pe-p-o-oe-t
Sachant qu il n'y a que 6 possiblilites de valeur dans la ligne( t,te,o,oe,p,pe) j'aimerais avoir en N2 la série la plus grande avec la lettre p, ici 3 puisqu il y a un p en colonne H, I et J.
Merci d'avance pour votre aide
Savez vous comment peut on compter le nombre de cellules consecutives contenant une même lettre dans le texte sur une plage horizontale?
Voici un exemple:
A-B-C-D-E-F-G-H-I-J-K-L-M
T-te-o-p-t-pe-o-p-pe-p-o-oe-t
Sachant qu il n'y a que 6 possiblilites de valeur dans la ligne( t,te,o,oe,p,pe) j'aimerais avoir en N2 la série la plus grande avec la lettre p, ici 3 puisqu il y a un p en colonne H, I et J.
Merci d'avance pour votre aide
10 réponses
-
Comme ceci
Public Function LgrEB(plage As Range, b As String) Dim lmanx As Long, k As Long, leb As Long, lebmax As Long, nbc As Long, s As String If plage.Rows.Count > 1 Then LgrEB = 0: Exit Function leb = 0 lebmax = 0 b = UCase(b) nbc = plage.Columns.Count For k = 1 To nbc s = plage.Cells(1, k) If s <> "" Then s = UCase(s) If InStr(1, s, b) = 0 Then leb = leb + 1 Else If leb > lebmax Then lebmax = leb leb = 0 End If End If Next k If leb > lebmax Then lebmax = leb LgrEB = lebmax End Function
Cdlmnt -
Bonjour
Je ne sais pas si j'ai bien compris
Une solution avec une macro
http://www.cjoint.com/c/EIkm3ZmiFI4
Cordialement -
Bonjour
1. Alt-F11 pour accéder à l'éditeur vba
2. Insertion/Module pour créer le Module 1
3. Coller tout le code dans ce module
4. Retour à la feuille où la fonction LPLS(plage;texte) s'utilisera comme une fonction excel (dans ce fichier)
Il faudra ensuite dire à excel d'accepter l'ouverture des macros
Sous excel 2003 : Outils/Macro/Sécurité et choisir le niveau moyen
Sous excel >=2007 : Bouton Microsoft Office/Options Excel/ Centre de gestion de la confidentialité/Paramètres du Centre de gestion de la confidentialité/ Paramètres des macros Et choisir l'option Désactiver toutes les macros avec notifications.
Quitter excel et le redémarrer
Cordialement-
bonjour
tout d abord merci beaucoup pour ton aide, ça fonctionne plutôt bien mais il y quelque chose qui m échappe car j ai noté 3 exemple sur mon fichier ou la formule ne fonctionne pas correctement!
je te mets le lien pour mon fichier
https://www.cjoint.com/c/EInl1vg1oVQ
j ai surligné en jaune les anomalies que j ai relevé
merci encore
-
-
mais il y quelque chose qui m échappe car j ai noté 3 exemple sur mon fichier ou la formule ne fonctionne pas correctement!
Exact, léger bug !
http://www.cjoint.com/c/EInqYoAXgm6
Cordialement -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Essaies ceci
http://www.cjoint.com/c/EIEn5ikPUxs
Cdlmnt -
Bonjour
Essaies ceci (merci à J.Boisgontier)
=INDEX(A2:M2;MODE(SI(A2:M2<>"";EQUIV(A2:M2;A2:M2;0))))
Cdlmnt-
-
la formule fonctionne quand je la valide comme une formule matricielle, cependant le resultat me donne la valeur avec la plus gande serie en l occurrence p dans l exemple mais j aurais besoin du nombre de fois consecutive qu elle apparait!
Et j aimerais pouvoir choisir la valeur don't je demande la serie la plus grande.
si je reprend mon exemple, j aimerais pouvoir demandé la serie la plus grande de la lettre t par exemple, le resultat serait 2 puisqu il y a un t en colonne a et b
merci beaucoup
-
-
Bonjour
Autre proposition en passant par des calculs intermédiaires (pas sûr que ça vous intéresse).
https://www.cjoint.com/c/EIiowkdk8ib
Cdlt -
bonjour a tous
j ai une question complémentaire, comment faire pour compter une serie tant qu on ne rencontre pas une lettre de notre choix?
je m explique, dans l exemple de l ennoncé j aurais besoin de savoir quelle est la serie la plus longue tant que je ne rencontre pas la lettre t (ou te);
la reponse serait ici 7 puisqu a partir de la colonne F nous avons une serie de valeur qui ne contient pas la lettre t jusqu en colonne L
merci d avance -
Bonjour
Peux tu envoyer un bout de fichier avec quelques exemples et les résultats attendus
Cdlmnt-
Voici un exemple,
N hesite pas si je ne suis pas clair et encore merci pour ton aide.
https://www.cjoint.com/c/EIEmYE5cm1T -
Bonjour,
J ai une derniere question, comment peut on compter une serie s il y a un "e" ou s sil n y en a pas? Je m explique, sur l exemple du lien du 30 septembre de la personne a, combien de fois maximum j ai la lettre g qui apparait que si il n y pas de "e" dans la cellule; ici la reponse serait 10 car il y a 10 g consécutifs de la colonne j14 a la colonne j34!
de la meme facon, j aimerais savoir combien de g consecutifs il y a si on ne prend en consideration les cellules avec des "e"; ici la reponse serait 3 (il y a 2 series de 3(colonne j12+j15+j17 ou j20+j22+j24))
merci par avance
-
-
Bonjour,
J ai une derniere question, comment peut on compter une serie s il y a un "e" ou s sil n y en a pas? Je m explique, sur l exemple du lien du 30 septembre de la personne a, combien de fois maximum j ai la lettre g qui apparait que si il n y pas de "e" dans la cellule; ici la reponse serait 10 car il y a 10 g consécutifs de la colonne j14 a la colonne j34!
de la meme facon, j aimerais savoir combien de g consecutifs il y a si on ne prend en consideration les cellules avec des "e"; ici la reponse serait 3 (il y a 2 series de 3(colonne j12+j15+j17 ou j20+j22+j24))
merci par avance