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 :

Envoyé une formule NB.SI dans une feuille excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut Envoyé une formule NB.SI dans une feuille excel
    Bonjour,
    Je cherche à envoyé une formule à partir d'un Userform, dans une cellule de ma feuille excel. Je choisit la ligne mais la colonne reste la meme.

    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ligne=10
    Cells(ligne, 10) = "=NB.SI(Calendrier;A" + CStr(ligne) + ")"
    Ici la formule doit etre introduite dans la cellule J10.
    "Calendrier" est le nom d'une plage de donnée.

    Evidement le code ne fonctionne pas.

    Je pense que le problème vient de la façon d'introduire la variable ligne dans la formule.
    A l'aide..

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Bon j'ai réussi à trouver mon problème tout seul. En fait le problème venait du point virgule. (Apparement VBA ne l'acceptait pas) . Il à fallut remplacer le point virgule par une virgule pour que le code fonctionne.

    Le voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ligne=10
    Cells(ligne, 10) = "=NB.SI(Calendrier,A" + CStr(ligne) + ")"
    Lors de l'envoie de la formule dans la cellule la virgule se change en point virgule comme par magie. hihihi


    Donc la formule est bien dans la cellule et celle-ci est correct mais ma cellule affiche la valeur "#NOM?".
    Ensuite je double click sur la cellule (je rentre donc dans la formule) puis j'appuis sur ENTREE, et la, la valeur s'affiche correctement (ex: 0,1, 2 , ect...)
    . Comment faire pour afficher directement la valeur juste sans rentré dans la formule et appuyé sur ENTREE ???

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Bon, j'ai encore résolu mon problème tout seul. En fait, il faut mettre le nom des fonctions en anglais si vous voulez quelles soient interprétées par VBA.

    Donc ici c'était NB.SI -> COUNTIF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ligne=10
    Cells(ligne, 10) = "=COUNTIF(Calendrier,A" + CStr(ligne) + ")"
    Et comme sa la formule est directement prise en compte.

    Si vous ne connaissez pas le nom des formules en anglais il suffit de faire une macro ou vous écrivez votre formule, ensuite celle ci sera traduite dans le code vba de la macro.

    Ciao
    Dream Master

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/06/2012, 14h22
  2. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  3. Réponses: 3
    Dernier message: 13/12/2007, 14h25
  4. Comment affecter une formule matricielle longue dans une cellule
    Par dav_e77 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2007, 18h56

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