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 :

comprendre une formule excel en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Par défaut comprendre une formule excel en VBA
    bonjour

    j'ai une question pouvez vous me dire comment on décrypte le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=NB.JOURS.OUVRES(RC[-1],RC[-23],R[12]C[3]:R[17]C[5])"
    alors je m'interesse plus particulièrement au décryptage des termes en rouge

    voila merci d'avance

    ah oui j'oublié peut on mettre des variables dans ce qui est entre crochet []

  2. #2
    Membre éclairé Avatar de Runsh63
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2011
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 476
    Par défaut
    Bonjour,

    En rouge tu as l'adressage des cellules compris dans la cellule, fonction de l'emplacement de ta formule dans la feuille de données. R = Row et C = Column, les chiffres servant à "se déplacer" de + ou - x lignes / colonnes. Les virgules servent de séparateurs de critères et sont l'équivalent du ";" lorsque tu écris cette formule directement dans la feuille de données sans passer par du VBA. Avec ton exemple; si ta formule se trouve en cellule Z2, alors :

    => RC[-1] = même ligne et une colonne plus à gauche, donc Y2
    => RC[-23] = même ligne toujours et 23 colonnes plus à gauche, soit C2
    => R[12]C[3]:R[17]C[5] = La plage de cellules allant de AC14 (+ 12 lignes et + 3 colonnes) à AE19 (+17 lignes et + 5 colonnes).

    En espérant avoir répondu à ta question.

    Cordialement,

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Par défaut
    oui j'ai compris et est ce que je peux mettre des variables à la place des indices entre crochet

  4. #4
    Membre éclairé Avatar de Runsh63
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2011
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 476
    Par défaut
    A partir du moment où tu définis correctement tes variables en amont, pas de problème, tu peux les utiliser dans ta formule.

  5. #5
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Tu peux consulter l'aide sur la fonction :
    • Le premier agrument désigne une cellule qui contient la date de départ d'une période
    • le deuxième, la date de fin de cette période,
    • le troisième, des dates à exclure du décompte (=jours chômés).


    Oui, tu peux rendre la formule dynamique.

    Attention aux "," et ";".

    Cordialement,

    PGZ

  6. #6
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    pour la fonction en elle-même, regarde ici

    Pour l'interprétation du rouge, place la formule dans une cellule et puis fait <F2>. Tu comprendras les références relative par rapport à la cellule sélectionnée.

    Oui, on peut mettre des variable qui peuvent remplacer tout ou partie de tes paramètres.

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. Inserer une Formule Excel dans VBA
    Par sambrook dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/02/2013, 16h46
  3. [XL-2002] convertir une formule Excel en VBA
    Par bubulemaster dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/09/2009, 09h40
  4. Transformé une formule Excel en script VBA ?
    Par SFLEY dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/01/2007, 11h48
  5. [VBA]Passer une variable dans une formule Excel
    Par David1974 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/01/2006, 16h52

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