IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Comptage d'élèments dans une chaine


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 30
    Points
    30
    Par défaut Comptage d'élèments dans une chaine
    Bonjour a tous.

    Tout d'abord, désolé si mon titre n'est pas trés clair, je vais essayer de l'expliciter :

    Pour simplifier je possede dans ma feuille1 des lignes de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CA   CA   FF   CA   CA   CA   FD   CA
    Je voudrai tout simplement compter le nombre de "CA", a savoir dans la feuille 2:
    En A1 le chiffre 2
    En A2 le chiffre 3
    En A3 le chiffre 1
    (car il y a en tout 6 CA sur ma premiere ligne)

    En B1 le chiffre 4
    En B2 le chiffre 1
    (seulement 5 CA sur ma deuxieme ligne)

    Bien sur, la chaine est de longueur variable et le terme CA est aléatoire. Je souhaite faire cela pour chaque ligne de ma feuille1. Donc la nombre de cellule en ligne crée ds ma feuille 2 sera variable.

    Des idées pour m'expliquer comment procéder?
    Un grand merci d'avance

  2. #2
    Membre émérite
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Points : 2 377
    Points
    2 377
    Billets dans le blog
    14
    Par défaut
    Bonsoir
    avec un sommeprod et une liste déroulante en E2 de la feuil 2

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    En fait non, ce n'est pas cela que je souhaite avoir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CA   CA   FF   CA   CA   CA   FD   CA
    A savoir, 2 CA pui FF puis 3 CA puis 1 CA.
    Et c'est justement 2,3,1 que je souhaite voir apparaitre, et non pas 6 qui est la somme des Ca rencontrés.Je souhaite dissocé tous les CA et savoir combien de fois ils se suivent.
    Merci d'avance

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    voici une solution parmi d'autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Option Explicit
     
    Public Function ChainesConsecutives(ByVal Plage As Range, _
                                        ByVal Valeur As String, _
                               Optional ByVal Index As Integer = 0)
     
    Dim c As Range
    Dim res As String
    Dim resT() As String
    Dim iCount As Integer
     
    iCount = 0
    For Each c In Plage.Cells
        If c = Valeur Then
            iCount = iCount + 1
        ElseIf iCount <> 0 Then
            res = res & ";" & iCount
            iCount = 0
        End If
    Next c
    If iCount <> 0 Then
        res = res & ";" & iCount
        iCount = 0
    End If
    res = Mid(res, 2)
    resT = Split(res, ";")
    Select Case Index
        Case -1
            ChainesConsecutives = res
        Case 0
            ChainesConsecutives = UBound(resT) + 1
        Case Else
            ChainesConsecutives = CInt(resT(Index))
    End Select
     
    Set c = Nothing
     
    End Function
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/07/2012, 17h22
  2. Suppression d'un élément dans une liste chainée
    Par jbarreau-mainson dans le forum Débuter
    Réponses: 1
    Dernier message: 06/05/2009, 15h49
  3. Remplacer un élément dans une chaine de caractères
    Par mauyebo dans le forum Langage
    Réponses: 1
    Dernier message: 05/09/2008, 21h03
  4. retrouver un élément dans une chaine de caractères
    Par mauyebo dans le forum Langage
    Réponses: 10
    Dernier message: 26/06/2008, 01h51
  5. Comptage d'élèments dans une chaine
    Par wabo67 dans le forum Excel
    Réponses: 2
    Dernier message: 09/11/2007, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo