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 :

MACRO VBA NB.SI/NB


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    personnel
    Inscrit en
    Août 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : personnel
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 7
    Par défaut MACRO VBA NB.SI/NB
    Bonjour,

    Je souhaite mettre une formule dans une cellule via VBA et cela ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.cells(1,1).Formula = "=COUNTIF(B2:B " & lign & ","">0"")/count(B2:B" & lign &")"
    lign est une variable qui correspond un nombre de ligne a été défini avant.

    Quand je lance la macro j'ai le message d'erreur :
    Erreur exécution 1004 ; Erreur définie par l'application ou par l'objet
    Merci d'avance de votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    La chaîne de caractères construite contient un espace de trop, à supprimer --->>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.cells(1,1).Formula = "=COUNTIF(B2:B" & lign & ","">0"")/COUNT(B2:B" & lign & ")"
    Sans préjudice de ce qu'une telle formule corresponde vraiment (cela m'étonnerait) au but (inconnu) que tu recherches

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir
    sauf méprise de ma part ,j'ai comme l'impression que tu souhaite obtenir le pourcentage de cellule ayant une valeur >0 dans la plage B2:B & lign

    donc déjà c'est pas COUNTmais LIGNES et en vba c'est ROWS

    EXEMPLE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    lign = 10
    'test avec evaluate
    MsgBox Evaluate("=COUNTIF(B2:B" & lign & ","">0"")/ROWS(B2:B" & lign & ")")
    'injection dans une cellule de la formule
    Cells(1, "g").Formula = "=COUNTIF(B2:B" & lign & ","">0"")/ROWS(B2:B" & lign & ")"
    End Sub
    vue de la formule injectée
    Nom : Capture.JPG
Affichages : 199
Taille : 23,2 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre régulier
    Homme Profil pro
    personnel
    Inscrit en
    Août 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : personnel
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 7
    Par défaut
    Bonjour, merci de vos réponses.

    Tout est OK.

    Vous me semblez surpris de ce calcul. Dans une phase de préparation de data je souhaite connaître le ratio de valeur positive d'une variable (colonne).

    J'applique donc une formule qui me semble avoir un sens : (nombre de valeur >0) / (nombre total de valeur) traduis en xls NB.SI(...)/NB(...).

    Pourriez vous svp m'expliquer votre étonnement?

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Pourriez vous svp m'expliquer votre étonnement?
    Plus aucun si tel est en effet le résultat à obtenir

  6. #6
    Membre régulier
    Homme Profil pro
    personnel
    Inscrit en
    Août 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : personnel
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 7
    Par défaut
    Ok merci à vous.

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

Discussions similaires

  1. Probleme d'enregistrement sur Macro/VBA de Excel
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/11/2005, 17h23
  2. Connaître la taille d'un module avec une macro VBA ou autre
    Par beegees dans le forum Général VBA
    Réponses: 15
    Dernier message: 22/11/2005, 09h47
  3. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51
  4. Macro VBA sur Access
    Par beurnoir dans le forum Access
    Réponses: 3
    Dernier message: 12/10/2005, 16h46
  5. [SQL][MACRO VBA]Pb de syntaxe
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/08/2004, 09h11

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