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 :

Formule de Calcul et macro [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Auditeur et contrôleur de gestion
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Auditeur et contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Par défaut Formule de Calcul et macro
    Bonjour tout le monde. je suis nouveau dans le monde de la programmation, je suis autodidacte en quelque sorte.
    J'ai un petit problème avec une formule de calcul voici la macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub Macro1()
    '
    ' Macro1 Macro
    '
     
    '
        Range("C2").Select
        ActiveCell.FormulaR1C1 = "=RC[-2]-RC[-1]"
        Range("C3").Select
        ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
        Range("C4").Select
        ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
        Range("C5").Select
        ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
        Range("C6").Select
        ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
        Range("C7").Select
        ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
        Range("C8").Select
        ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
        Range("C9").Select
        ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
        Range("C10").Select
     
    End Sub

    Au fait je souhaite automatiser la formule de la cellule (C2:C65536)
    Merci d'avance pour votre aide

  2. #2
    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 173
    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 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est ceci que tu souhaites ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub PlaceFormule()
       Range("C2:C65536").FormulaR1C1 = "=RC[-2]-RC[-1]"
    End Sub
    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

  3. #3
    Membre habitué
    Homme Profil pro
    Auditeur et contrôleur de gestion
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Auditeur et contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Par défaut
    MerCi CORONA. Pour ton aide et Bonne journée, j'aurai certainement besoin de ton expérience dans l'avenir.

  4. #4
    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
    Bonjour,

    Excuses-moi Philippe mais je préfère cette solution qui ne colle la formule que sur les cellules renseignées (surtout si soumilo apprend le VBA)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub PlaceFormule()
    Dim derlg As Long
    With Sheets("Feuil1") 'à remplacer par le nom de ta feuille
      derlg = .Range("C" & .Rows.Count).End(xlUp).Row ' donne la dernière ligne renseignée
       .Range("C2:C" & derlg).FormulaR1C1 = "=RC[-2]-RC[-1]"
    End With
    End Sub
    De plus, sur Excel 2007, le nombre de lignes maxi est de 1 048 576 et non 65536
    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...)

  5. #5
    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 173
    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 173
    Billets dans le blog
    53
    Par défaut
    Bonjour Dominique,
    Aucun problème
    J'ai voulu ajouter la référence à la feuille et préférer la référence à une dernière ligne en fonction de la version Office mais j'ai répondu rapidement et donc pas affiné ma réponse.
    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

  6. #6
    Membre habitué
    Homme Profil pro
    Auditeur et contrôleur de gestion
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Auditeur et contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Par défaut
    Une fois de plus Merci CASEFAYERE et CORONA! C'est impeccable le boulot que vous faites. Je suis très ravi.

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 02/01/2006, 22h13
  2. [VBA-E] Copier une formule de calcul dans toute la ligne
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2005, 18h18
  3. Réponses: 1
    Dernier message: 05/09/2005, 19h18
  4. formule de calcul du TRI avec PL/SQL
    Par mongilotti dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 30/07/2005, 20h23
  5. Mauvais résultat aprés une formule de calcul complexe
    Par poufouille dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/12/2004, 00h12

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