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 :

Macro calculs avec une boucle


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 24
    Par défaut Macro calculs avec une boucle
    Bonsoir à tous,

    J'ai le code suivant pour faire des calculs dans une feuille, je veux que ma macro me fasse les calculs jusqu'à la ligne 676 dans les deux colonnes A et B, les deux equation ne sont pas fixes je les changerai par la suite

    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
    Sheets("Feuil1").Select
     
    i = 2
        Range("A1").Select
        ActiveCell.FormulaR1C1 = "T"
     
        Range("B1").Select
        ActiveCell.FormulaR1C1 = "Attach Failure Ratio"
     
        Do While ??? ''''''' jusqu'a la ligne 676
        Range("A&i").Select
        ActiveCell.FormulaR1C1 = _
            "=('Données(4)'!R[3]C[113]+'Données(4)'!R[3]C[115]+'Données(4)'!R[3]C[101]+'Données(4)'!R[3]C[103]+'Données(4)'!R[3]C[105]+'Données(4)'!R[3]C[107])"
     
        Range("B&i").Select
        ActiveCell.FormulaR1C1 = _
            "=('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[225]-RC[-1])/('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[195]+'Données(4)'!R[3]C[193])"
        i = i + 1
        Loop

    NB: Le code ne marche pas

  2. #2
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonsoir le forum,

    Tu peux essayer avec cela

    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
     
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "T"
     
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Attach Failure Ratio"
     
    i=2
    Do While i<677
    Range("A"&i).Select
     
    ActiveCell.FormulaR1C1 = _
    "=('Données(4)'!R[3]C[113]+'Données(4)'!R[3]C[115]+'Données(4)'!R[3]C[101]+'Données(4)'!R[3]C[103]+'Données(4)'!R[3]C[105]+'Données(4)'!R[3]C[107])"
     
    Range("B"&i).Select
    ActiveCell.FormulaR1C1 = _
    "=('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[225]-RC[-1])/('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[195]+'Données(4)'!R[3]C[193])"
    i = i + 1
    Loop
    Je n'ai pas touché aux formules car en relative c'est compliqué de savoir au cela va.

    Par contre, tu peux aussi passer par l'enregistreur de macro en faisant glisser la formule dans la plage de cellule que tu désires, ainsi tu auras la syntaxe du code créé qui sera peut-être plus simple que de réaliser une boucle.

  3. #3
    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
    Genre d'écriture à éviter avec les select et formular1c1 partout, ci joint code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim i As Long
    With Sheets("Feuil1")
        .Range("A1") = "T"
        .Range("B1") = "Attach Failure Ratio"
        For i = 2 To 676
            .Range("A" & i).FormulaR1C1 = "=..."
            .Range("B" & i).FormulaR1C1 = "=..."
        Next i
    End With
    Ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Sheets("Feuil1")
        .Range("A1") = "T"
        .Range("B1") = "Attach Failure Ratio"
        .Range("A2").FormulaR1C1 = "=..."  'formule en A2
        .Range("B2").FormulaR1C1 = "=..."  'formule en B2
        .Range("A2:B2").AutoFill .Range("A2:B676")
    End With

  4. #4
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 24
    Par défaut
    Merci pour le code

    j'ai essayé le 2eme code mais il y a une erreur
    Erreur définie par l'application ou par l'objet
    Après debogage il maffiche ca en jaune ==>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("A" & j).FormulaR1C1 = "=('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[225]-RC[-1])/('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[195]+'Données(4)'!R[3]C[193])"

  5. #5
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 24
    Par défaut
    ca répond exactement a ce que je voulais

    Merci beaucoup pour votre aide !!

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

Discussions similaires

  1. [Toutes versions] Création du macro avec une boucle
    Par Kiera dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/01/2015, 11h26
  2. [XL-2010] Insérer une formule de calcul avec une boucle
    Par jessylfoh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/09/2014, 20h13
  3. [XL-2003] macro calcul d'une moyenne avec boucle évolutive
    Par mia73 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/07/2010, 10h49
  4. Calcul avec une boucle
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/08/2008, 16h22
  5. Réponses: 22
    Dernier message: 20/05/2008, 10h25

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