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 :

Affecter une formule VBA à une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Russie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2014
    Messages : 16
    Par défaut Affecter une formule VBA à une cellule
    Bonjour à tous,

    Je veux affecter une formule VBA à une cellule
    J’écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Rvariable()
    Worksheets (CalculR).Range("D10").Formula = "=(D7/D9)"
    End Sub
    Mais rien ne se passe dans la cellule D10, je vais ensuite repeter la même formule pour F10 = F7/F9 , G10=G7/G9 etc. Pourriez-vous m’aider svp ?
    Je vous remercie par avance

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,

    Pour la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Rvariable()
    Worksheets("CalculR").Range("D10").Formula = "=(D7/D9)"'si CalculR est le nom de la feuille
    End Sub
    Pour la boucle, dis-nous jusqu'où coller la formule
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quand tu écris "rien ne se passe", cela veut dire quoi ?
    As-tu un message d'erreur ?
    Si tu n'as pas de message d'erreur, comment fais-tu appel à la procédure Rvariable
    Si tu as fait un copier/coller de ton code, je crois percevoir un espace entre Worksheets et la parenthèse ouverte qui précède CalculR. Ce qui signifie que CalculR n'est pas une variable mais le nom de ta feuille. Si c'est le cas, il y a lieu de le placer entre guillemets.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre averti
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Russie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2014
    Messages : 16
    Par défaut
    Bonsoir,
    Merci pour vos retours. Effectivement, j’ai oublié les guillemets. Après les avoir ajouté la formule fonctionne très bien. MERCI A VOUS !!!
    Quand je disais « rien ne se passe » cela voulait dire que la cellule ne réagit pas, elle était vide et ne contenait pas le résultat de la formule que j’attendais mais je n’avais pas de message d’erreur.
    Et pour la boucle, je veux que la formule s’étende 10 fois c’est-à-dire : (mais dans chaque colonne il y a aura les chiffres différentes biensur)
    D10= D7/D9
    F10 = F7/F9
    G10=G7/G9
    H10=H7/H9
    I10=I7/H9
    K10=K7/K9
    L10=L7/L9
    M10=M7M9
    N10=N7/N9
    O10=O7/O9
    Excusez-moi mais pour faire appel à la procédure Rvariable je dois créer 10 boutons pour faire appel à chaque formule ? Y-a-t-il moyen de ne pas du tout avoir de bouton ? Par exemple quand on écrit la formule directement dans la feuille de calcul, elle fonctionne automatiquement. Est-ce que c’est possible de faire la même chose dans VBA ? Ou il faut obligatoirement créer un bouton ? Je voudrais vraiment cacher les formules dans le VBA mais pour que le calcul se fasse automatiquement sans bouton.
    Je vous remercie une fois de plus

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu peux utiliser les évènements liés à la feuille pour lancer les codes ou des boutons.

    Pour le code sur les cellules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub MonCalcul()
     
    Worksheets("CalculR").Range("D10,F10:I10,K10:O10").Formula = "=D7/D9"
    End Sub
    Si tu veux ne garder que le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Calcul()
     
    With Worksheets("CalculR").Range("D10,F10:I10,K10:O10")
        .Formula = "=D7/D9"
        .Value = .Value
    End With
    End Sub

  6. #6
    Invité
    Invité(e)
    Par défaut Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheets("CalculR").Range("D10").FormulaR1C1="=(R[-3]C/R[-1]C)"
    Worksheets("CalculR").Range("G10").FormulaR1C1="=(R[-3]C/R[-1]C)"
    la même formule marche pour D10 = D7/D9 , F10 = F7/F9 , G10=G7/G9 = formule pour toutes les cellules "=(R[-3]C/R[-1]C)"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("CalculR").Range("D10,F10:I10,K10:O10").FormulaR1C1="=(R[-3]C/R[-1]C)"

  7. #7
    Membre averti
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Russie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2014
    Messages : 16
    Par défaut
    Je vous remercie tous ! Les codes fonctionnent parfaitement. Grâce à vous j'ai pu finalement réussir mon calcul ! Merci encore !

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

Discussions similaires

  1. [Toutes versions] Imbriquer une formule dans une formule à l'aide de l'outil Insertion de fonction
    Par Philippe Tulliez dans le forum Contribuez
    Réponses: 0
    Dernier message: 27/08/2014, 11h21
  2. [XL-2010] Formule : attribuer une formule dans une cellule
    Par popi33370 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/03/2014, 18h06
  3. Réponses: 5
    Dernier message: 27/02/2014, 12h09
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35

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