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 :

Countif dans une boucle For


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Par défaut Countif dans une boucle For
    Bonjour,
    je tente de faire une macro qui me permet de compter le nombre d'occurence dans une plage de données appartenant à une autre feuille (Worksheets) et dont la plage est contenue dans la colonne "Q" de caresrpt.cfm-2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        For l = l To 106
        Cells(l, 2) = CountIf(Worksheets("caresrpt.cfm-2").Range("Q:Q", Cells(l, 1)))
        Next l
    => la compilation de cette syntaxe ne passe pas ...
    Une idée ?

    Merci d'avance,

    chris

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    1) Où le compilateur bloque-t-il?
    2) For l = l To 106
    si je passe en majuscule tu as écrit L= L to 106????
    essaye l = 1 to 106 (1 ou un autre nombre inférieure à 106)

  3. #3
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    Rapidement, la première ligne ne me va pas (l=l ??)
    et un pb de parenthèse dans la ligne du countif (que je ne peux pas tester, countif doit être NB.Si non ?)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For l = 1 To 106
        Cells(l, 2) = CountIf(Worksheets("caresrpt.cfm-2").Range("Q:Q"), Cells(l, 1))
    Next l

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Par défaut
    je viens de regarder l'erreur de compilation et j'ai "Sub ou function non définie" sur le CountIf.
    J'ai modifié l'init du For i=1

  5. #5
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    essai de remplacer "countif" par "NB.Si" voir même "Application.WorksheetFunction.nb.si"

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Par défaut
    Dans les deux cas cela ne fonctionne pas :

    "countif" par "NB.Si" : Erreur d'execution '424' Objet requis

    "Application.WorksheetFunction.nb.si" : Erreur d'execution '438' Propriété ou méthode non gérée par cet objet

  7. #7
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    effectivement, ce serai plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For l = 1 To 106
        Cells(l, 2) = Application.WorksheetFunction.CountIf(Worksheets("caresrpt.cfm-2").Range("Q:Q"), Cells(l, 1))
    Next l
    ( j'avais regardé dans l'aide sans l'écrire sous vba )

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

Discussions similaires

  1. multi ouverture de la console dans une boucle for
    Par jamesleouf dans le forum C++
    Réponses: 2
    Dernier message: 16/03/2006, 21h26
  2. Shell - Erreur dans une boucle for
    Par claralavraie dans le forum Linux
    Réponses: 4
    Dernier message: 11/01/2006, 13h45
  3. Problème avec une DLL dans une boucle For
    Par BraDim dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2005, 12h22
  4. [batch] incrémentation dans une boucle for
    Par bart64 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/09/2004, 20h05
  5. Réponses: 3
    Dernier message: 06/07/2004, 10h21

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