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

Macros et VBA Excel Discussion :

Compter les occurrences d'une chaîne dans une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 863
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 863
    Points : 583
    Points
    583
    Par défaut Compter les occurrences d'une chaîne dans une feuille
    Bonjour,

    Quelle fonction ou code VBA me permettrait de compter les occurences d'une chaîne dans une feuille?

    Je ne souhaite pas les rechercher (ni déplacer le curseur sur les cellules concernées) mais seulement les compter en VBA

    Merci

  2. #2
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    regardes du coté de find
    le code de l'aide te donnes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    With Worksheets(1).Range("a1:a500")
        Set c = .Find(2, lookin:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                c.Value = 5
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With
    remplace le 2 par ta chaine vire le c.value=5 et remplace par t=t+1
    insere un code pour ta chaine
    un peu comme ceci
    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
    Sub comptage()
    a$ = "bourdon"
    With Worksheets(1).Range("a1:a500")
        Set c = .Find(a$, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            t = 1
            Do
                t = t + 1
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
        Range("a1") = t
    End With
    End Sub
    la chaine a$ est dans le cas présent bourdon mais bourdonnement la contient et sera compter pour 1 la phrase "un coup de bourdon" également

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. Compter les occurences d'un mot dans une chaîne
    Par mimi2311 dans le forum Pascal
    Réponses: 4
    Dernier message: 20/04/2008, 22h37
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. Trouver la position d'une chaîne dans une chaîne
    Par taka10 dans le forum Langage
    Réponses: 1
    Dernier message: 03/01/2007, 23h18
  5. Réponses: 4
    Dernier message: 11/08/2006, 13h47

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