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 :

[E-02] formules excel sous vba


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
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut [E-02] formules excel sous vba
    Bonjour à tous,

    je code actuellement une application qui calcule des valeurs affichées en sortie dans une feuille Excel. Je dois ensuite sommer les cellules par ligne.

    Après, je veux vérifier que la somme est comprise entre deux valeurs données.
    Cependant, je ne veux pas écrire simplement la formule de test dans Excel car en fonction de l'exécution, il y a plus ou moins de lignes et de colonnes en sortie. mon idée est donc de passer par vba pour écrire la formule au bon endroit (exemple: colonne immédiatement après le tableau de résultat).

    C'est cool, j'ai déjà ma formule excel: si la somme des cellules A à C de la ligne est plus grande que C1 et plus petite que C2 alors VRAI.
    Mais quand je code cela code sous vba, j'ai une erreur vba '1004'. Elle m'arrive expressément avec une formule ET, (avec Somme ça passe):
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    i
    ActiveCell.Value = "=ET(D6>=C1;D6<=C2)"
    Ca ne marche pas en remplaçant par et du 'and' à la place du 'et' ni en écrivant juste Activecell.

    Quelqu'un comprend t-il la source de l'erreur?

    Merci à tous pour votre aide

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Bonjour,
    Voici l'équivalent de ta formule en format formuleR1C1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        ActiveCell.FormulaR1C1 = _
            "=AND(R[-10]C[-2]>=R[-15]C[-3],R[-10]C[-2]<=R[-14]C[-3])"
    Vois si ça peut t'aider dans ton problème.

  3. #3
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaLocal = "=ET(D6>=C1;D6<=C2)"
    Tu dis

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut re
    Merci aalex_38 et Fvandermeulen. Vos deux formules marchent! Et en plus je les avais vues dans des dicussions, j'ai oublié d'essayer, c'est bête.
    Par contre en résultat dans la cellule, la FormulaR1C1 écrit de drôles de choses:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(C65528>=B65523;C65528<=B65524)
    .

    Vous savez pourquoi ma formule à moi ne passait pas?

    En tout cas, merci.

    P.S.: pour pouvoir réutiliser la formule de Fvandermeulen: R précise la ligne (row), C la colonne (column). Entre crochets, on indique la ligne et la colonne de la cellule à utiliser. Si on est sur la même ligne où la même colonne, on peut omettre de préciser les crochets. Par exemple si je veux que ma cellule C2 contienne ce que contient A2 et que ma cellule A3 contienne ce que contient C2 je ferais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    range("C2").FormulaR1C1 = "=RC[-2]"
    range("A3").FormulaR1C1= "=R[-1]C[2]"

  5. #5
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Bonjour,
    La formuleR1C1 se "déplace" à partir de la cellule qui contient la formule, il faut donc être vigilent quand on adapte les variables, c'est vrai que c'est pas toujours clair, la solution de aalex_38 est plus facile d'application.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut R1C1
    Citation Envoyé par Fvandermeulen Voir le message
    Bonjour,
    La formuleR1C1 se "déplace" à partir de la cellule qui contient la formule, il faut donc être vigilent quand on adapte les variables, c'est vrai que c'est pas toujours clair, la solution de aalex_38 est plus facile d'application.
    En effet, j'ai pu voir ça. J'ai enregistrer une macro, fait plusieurs opérations et j'ai compris qu'il y avait un référencement à la cellule d'où on appliquait la macro.

    Merci encore

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

Discussions similaires

  1. formule excel vers VBA
    Par kedas dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/10/2007, 18h18
  2. Supprimer des données Excel sous VBA Access
    Par Sam 069 dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/10/2007, 09h55
  3. Parseur formule Excel <-> Code VBA
    Par gretch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/08/2007, 18h08
  4. Correspondance formules excel et VBA
    Par abu143 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2006, 17h54
  5. [EXCEL][VBA] Utilisation des formules Excel en VBA
    Par Amanck dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2005, 15h08

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