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 :

La formule NB.SI.ENS Via VBA COUNTIFS [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Points : 77
    Points
    77
    Par défaut La formule NB.SI.ENS Via VBA COUNTIFS
    Bonjour,

    J’enchaine ma problématique que j’ai déjà commencer avec un fichier qui me fait bcq de problème vu ça taille mais la problématique a expliqué vu que j’ai une feuille qui s’appelle SOURCE regroupe des donnes sur deux extraction avec des formules NB.Si.ENS
    Ce que je cherche si de convertir la formule NB.SI.ENS VIA VBA quand j’ai cherché j’ai trouvé que il existe avec le nom COUNTIFS.
    Sauf que j’ai pas compris comment le faire fonctionné sur une page VBA
    Vu que sur la formule basic d’habitude je mets la plage du critère 1 ensuite le critère quel que soit la feuille ou il y a le critère ou la plage.
    Quelqu’un peux m’aide à faire ma source SVP.


    merci d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Bonjour,

    Si cela peut t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
     Dim Critère As Long 'choisir le bon type
     Critère = 7
     With Worksheets("sheet1")
         MsgBox Application.CountIf(.Range("A1:G25"), "=" & Critère)
     End With
     End Sub
    Ce sujet également traite ta question
    http://www.developpez.net/forums/d10...oite-dialogue/

    A+
    Seb

  3. #3
    Membre régulier
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Points : 77
    Points
    77
    Par défaut
    J’ai essayé mais j’arrive pas voilà par exemple la formule basic sur ma cellule comme le convertir en VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =NB.SI.ENS(Ishop!$AG:$AG;Source!$L$1;Ishop!$BG:$BG;Source!$D2;Ishop!$B:$B;Source!$C2)
    sur cette forumule j'ai trois critires

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    En reprenant le bout de code de SebPhyto, change la formule pour celle-ci.
    Je n'ai pas testé, mais ça devrait être bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Application.CountIfs(Sheets("Ishop").Columns("AG"),Sheets("Source").Range("$L$1"),Sheets("Ishop").Columns("BG"),Sheets("Source").Range("$D2"),Sheets("Ishop").Columns("B"),Sheets("Source").Range("$C2"))

  5. #5
    Membre régulier
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Points : 77
    Points
    77
    Par défaut
    oui effectiffement ca donne un message avec la resultats mais il pose pas le resultats sur la feuille Source
    je partage avec vous le fichier la ou il ya les formules que je veux remplacer par le code VBA si vous avez la possibilté de test sur la 1er colonne de la feuile source en jeune

    merci bcq de votre aide.

    Test Bug.zip

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Si tu veux inscrire la formule, essaie plutôt ainsi.
    Tu peux choisir une ou l'autre des formules...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Formule()
        Dim nbLignes As Long
     
        Sheets("Source").Activate
        nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
     
        Range("J2:J" & nbLignes).Formula = "=COUNTIFS(Ishop!$AG:$AG,Source!$L$1,Ishop!$BG:$BG,Source!$D2,Ishop!$B:$B,Source!$C2)"
    '    Range("J2:J" & nbLignes).Formula = "=IFERROR(COUNTIFS(Ishop!$AG:$AG,Source!$L$1,Ishop!$BG:$BG,Source!$D2,Ishop!$B:$B,Source!$C2),0)"
     
    End Sub

  7. #7
    Membre régulier
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Points : 77
    Points
    77
    Par défaut
    ahhh oui j'ai compris ca marche
    mais moi je veux pas de formule j'ai besoin juste des resultats directement sur la colonne selon les criteres indique sur le code VBA
    si le but de change les formules par le code VBA pour que le fichier soit plus rapide
    j'ai deja travaillé avec les formules qui fonts ramé mon fichier comme pas possible.

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Après avoir inscrit ta formule comme mentionné, rien ne t'empêche de copier/coller cette ou ces colonnes en valeur par la suite...

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

Discussions similaires

  1. Insérer une formule dans une cellule Excel via VBA
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/02/2020, 13h02
  2. introduire formule dans une cellule via VBA
    Par lilly91 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/02/2010, 16h16
  3. Inserer une formule (Longue) dans une cellule via VBA
    Par alex830001 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/01/2009, 12h28
  4. Formules excel écrites via VBA
    Par Loki83 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 20/11/2008, 08h58
  5. probleme insertion formule dans cellule via vba
    Par moxo01 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/06/2008, 11h06

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