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 :

ecrire une formule sous format vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2022
    Messages : 23
    Par défaut ecrire une formule sous format vba
    Bonjour,

    svp je veux quelqu'n maide à ecrire cette formule en format vba :

    AV9=SI(AR9>0;AT9*AU9;0)
    AV10=SI(AR10>0;AT10*AU10;0)
    ....
    ...
    AV40=SI(AR40>0;AT40*AU40;0)

    j'ai essayé ça ma ça ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil5.Cells(i,46)=SI(cells(i,42>0);cells(i,44)*cells(i,45);0)
    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Bonjour,

    A mon sens, le plus simple dans ton cas est de passer par l'enregistreur de macro.

    Tu actives l'enregistreur de macro, puis tu sélectionnes ta cellule AV9, tu entres ta formule et tu valides avec ENTREE, puis tu arrête l'enregistreur de macro.
    Tu devrais obtenir quelque chose comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Range("AV9").Select
        ActiveCell.FormulaR1C1 = "=IF(RC[-4]>0,RC[-2]*RC[-1],0)"
    A partir de là, il ne reste plus qu'à l'adapter pour écrire cette formule à toutes tes cellules, sans avoir recours à une boucle d'ailleurs !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("AV9:AV40").FormulaR1C1 = "=IF(RC[-4]>0,RC[-2]*RC[-1],0)"

  3. #3
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 291
    Par défaut
    Bonjour
    Désolé, mais il faut surtout se poser la question de la pertinence d'une telle macro (comme de toutes les macros d'ailleurs)
    Et à mon sens elle est inutile car un tableau structuré rempli le besoin immédiatement. les formules seront ajoutées sur les nouvelles lignes

    Avant de créer des macros, il faut utiliser les fonctionnalités natives d'Excel

    Stéphane

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 246
    Par défaut
    Hello,
    Citation Envoyé par yzmalc Voir le message
    svp je veux quelqu'n maide à ecrire cette formule en format vba.
    Pour quelle raison veux tu écrire les formules en VBA ?
    L'avantage des formules c'est que les calculs peuvent être automatiquement mis à jour quand les données changent.

    Ami calmant, J.P

  5. #5
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    Salut tout le monde
    Je note dans son profil qu'il est étudiant. Ce qui n'est pas une garantie.
    Mais s'il l'est, il doit probablement avoir des heures de cours en programmation VBA Excel et Access.
    Dans ce cas l'argument "tableau structuré" devient obsolète puisque c'est de la programmation.

  6. #6
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 291
    Par défaut
    Bonjour
    Si en 2022 on apprend à programmer des macros Excel comme il y a 15 ans, c'est désolant.
    Les tableaux, Power Query, Power Pivot sont intégrés dans Excel depuis des années maintenant et, à mon sens, il FAUT que les futurs développeurs Excel les connaissent et les utilisent afin de construire des fichiers performants.
    Les nouvelles formules matricielles (FILTRE, UNIQUE...) sont plus récentes mais simplifient bien les choses.

    Dans Excel, VBA n'est pas une fin en soit, ce n'est qu'un outil parmi d'autres.
    Pour concevoir un bon fichier Excel, il faut d'abord connaitre Excel et comprendre comment s'articulent ces différentes "briques" avant de se lancer dans la programmation VBA
    Depuis la version 2016, si vous êtes développeur Excel, la connaissance du M et du DAX me semble tout aussi utile que celle de VBA.

    Stéphane

  7. #7
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    Salut @yzmalc si tu pouvais clôturer ce sujet
    Salut @Raccourcix
    EN et MESRI sont des pachydermes.
    J'entends tableaux structurés, Power Query/Pivot et les nouvelles fonctions ajoutées dans les nouvelles versions Excel ou autres.
    Mais ton "il FAUT" dépendra du public auquel il s'adresse.
    Je constate une chose, les jeunes en parcours post-bac (BTS, DUT, DCG, DSCG, LMD) ont de moins en moins de pratique dans l'utilisation des applications MSO. Tout juste savent-ils utiliser les fonctions usuelles. Et pourtant du B2i, C2i, Pix, Pcie et Cie ...
    Alors quand on leur fait découvrir le béaba du vba ou les références L1C1 c'est un peu comme 1492 !
    Bref ... Le VBA j'adore mais je n'en fait pas de l'overdose.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub CopierFormule()
    Dim xlWbk As Workbook
    Dim xlWst As Worksheet
    Dim k As Variant
    Dim i As Integer
     
    Set xlWbk = ThisWorkbook
    Set xlWst = Sheets("Feuil1")
     
    k = Cells(9, 48).FormulaR1C1
    For i = 9 To 40
        Range(Cells(i, 48), Cells(i, 48)).FormulaR1C1 = k
    Next i
    End Sub

  8. #8
    barpasc
    Invité(e)
    Par défaut
    Citation Envoyé par Raccourcix Voir le message
    Bonjour
    Si en 2022 on apprend à programmer des macros Excel comme il y a 15 ans, c'est désolant.
    Les tableaux, Power Query, Power Pivot sont intégrés dans Excel depuis des années maintenant et, à mon sens, il FAUT que les futurs développeurs Excel les connaissent et les utilisent afin de construire des fichiers performants.
    Les nouvelles formules matricielles (FILTRE, UNIQUE...) sont plus récentes mais simplifient bien les choses.

    Dans Excel, VBA n'est pas une fin en soit, ce n'est qu'un outil parmi d'autres.
    Pour concevoir un bon fichier Excel, il faut d'abord connaitre Excel et comprendre comment s'articulent ces différentes "briques" avant de se lancer dans la programmation VBA
    Depuis la version 2016, si vous êtes développeur Excel, la connaissance du M et du DAX me semble tout aussi utile que celle de VBA.

    Stéphane
    Bonjour,
    Powerpivot, c'est un nouveau monde, déjà connaître bien l'utilisation des formules excel est une grande étape, savoir quelles formules s'appliquent le mieux, faire des formules courtes... PowerPivot amène une autre syntaxe, en informatique on dit paradigme je crois, ça peut être pratique mais ça ajoute couche de difficulté supplémentaire. Pour certaines analyses, sources de données multiples dans un tcd, c'est top mais sachant que les versions d'excel 2007 à aujourd'hui permettent d'accueillir un grand nombre de données, c'est équivalent. Par expérience, je n'ai jamais trouvé PowerPivot plus performant ou pratique.
    Pascal

Discussions similaires

  1. [XL-2019] Ecrire une formule à l'aide de VBA dans une plage
    Par Niagala dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/03/2021, 17h42
  2. Ecrire une image au format CGM
    Par Blowih dans le forum C++
    Réponses: 3
    Dernier message: 17/02/2011, 11h31
  3. [XL-2003] Ecrire une formule dans une cellule en VBA
    Par qi130 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/09/2010, 09h51
  4. [VBA-E] ecrire une formule en vba
    Par Huubb dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/01/2007, 14h15
  5. [Stratégie]Résultat d'une formule sous forme de String
    Par leminipouce dans le forum Langage
    Réponses: 12
    Dernier message: 21/02/2006, 11h40

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