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

Excel Discussion :

Formule excel dans une boucle


Sujet :

Excel

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut Formule excel dans une boucle
    Salut a tout le forum

    J'essaye depuis un bon bout de temps d'effectuer quelques opérations dans des boucles mais en vain.

    1- Multiplication

    je dois effectuer la multiplication d'une cellule d'une feuille de mon classeur avec le contenu d'une autre qui est contenu dans une boucle. Voilà ce que j'ai jusqu'à present :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Etats").Range("E" & i).FormulaLocal = "=(Sheets("Etats").Range("D",Range("D" & i))*'" & TextBox1 & "'!D4"

    2- Somme

    Je dois effectuer la somme de B12 à la dernière cellule vide de la colonne B et mettre le résultat dans la ligne suivante.

    Pour ces deux problèmes, je me casse la gueule depuis quelques temps deja.

    Quelqu'un aurait-il une piste pour moi ?

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Citation Envoyé par kedas Voir le message
    Salut a tout le forum

    J'essaye depuis un bon bout de temps d'effectuer quelques opérations dans des boucles mais en vain.

    1- Multiplication

    je dois effectuer la multiplication d'une cellule d'une feuille de mon classeur avec le contenu d'une autre qui est contenu dans une boucle. Voilà ce que j'ai jusqu'à present :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Etats").Range("E" & i).FormulaLocal = "=(Sheets("Etats").Range("D",Range("D" & i))*'" & TextBox1 & "'!D4"

    2- Somme

    Je dois effectuer la somme de B12 à la dernière cellule vide de la colonne B et mettre le résultat dans la ligne suivante.

    Pour ces deux problèmes, je me casse la gueule depuis quelques temps deja.

    Quelqu'un aurait-il une piste pour moi ?

    Merci d'avance
    Salut
    P'vez répéter la question ?!?
    ta formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Etats").Range("E" & i).FormulaLocal = "=(Sheets("Etats").Range("D",Range("D" & i))*'" & TextBox1 & "'!D4"
    mélange tout : du code VBA et un semblant de formule

    Sheets("Etats").Range("D",Range("D" & i)) : définit une plage de "D" ??? à Di => peut pas être multiplier par un facteur quelconque

    Explique clairement ce que tu veux faire :
    - peut-être inserer une formule ? mais laquelle et où ?
    - effectuer un calcul ?

    1- Multiplication

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Etats").Range("E" & i) = Sheets("Etats").range("D" & I)*sheets(textbox1).range("D4")
    inscrit en Ei de états le résultat de la multiplication de Di de états par D4 de la feuille sélectionnée dans textbox1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Etats").Range("E" & i).formulalocal = "=('Etats'!D" & I)*(' & textbox1 & "'!D4)"
    la même chose, sauf qu'on met la formule de calcul au lieu du résultat

    2- Somme


    Je dois effectuer la somme de B12 à la dernière cellule vide de la colonne B et mettre le résultat dans la ligne suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("B65536").end(xlup).offset(1,0) = WorksheetFunction.Sum(Range("B12:B" & range("B65536").end(xlup).row))
    A+

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Salut
    P'vez répéter la question ?!? ...........
    Explique clairement ce que tu veux faire :
    - peut-être inserer une formule ? mais laquelle et où ?
    - effectuer un calcul ?
    Salut Gorfael

    Merci pour ton aide toujours aussi précieuse.

    1- Multiplication

    En fait j'ai un userform qui me permet de créer des feuilles. Pour chaque feuille créer, je prélève des données dans des cellules de la nouvelle feuille créer pour y effectuer des calculs dans la feuille de synthèse, ici nommée "Etats".
    Chaque feuille créer incrémente la liste dans la feuille "Etats",
    colonne ARTICLE (B), valeur = textbox1
    colonne QUANTITÉ (C), valeur = textbox1!C4
    colonne MONTANT (D), valeur = QUANTITÉ * ' " & TextBox1 & " '!D4"

    2- Somme



    J'espère avoir été un peu plus clair

    A bientôt

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut kedas et le forum

    pas encore sur, mais ça se précise

    colonne ARTICLE (B), valeur = textbox1
    colonne QUANTITÉ (C), valeur = textbox1!C4
    colonne MONTANT (D), valeur = QUANTITÉ * ' " & TextBox1 & " '!D4"

    Ce que je comprends :
    Textbox1 = nom de l'onglet que tu dois mettre en colonne B à la dernière ligne vide de B de Etats en partant du bas
    à cette même ligne en C, une reprise de la valeur de C4 de l'onglet défini par TextBox1 (comme un collage avec liaison)
    idem pour D4 en colonne D
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Cel as range
    '.......
    set Cel = Sheets("Etats").range("B65536").end(xlup).offset(1,0)
    'cel à B première ligne vide
    cel = TextBox1
    'B
    cel.offset(0,1).formulalocal = "='" & TextBox1 & "'!C4"
    'C
    cel.offset(0,2).formulalocal = "='" & TextBox1 & "'!D4*C" & cel.row
    'D
    '..............
    Normalzmznt, ça fera ce que je crois avoir compris
    A+

  5. #5
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Salut Gorfael

    Cette fois ci c'est la bonne.
    J'ai essayé ton code avec une toute petite adaptation et tout
    va mieux maintenant. You are the

    Mais une toute petite précision. Comment faire une opération de soustraction entre deux cellules. J'ai essayé plusieurs combinaisons mais toujours rien.
    Par exemple : cel.offset(0,7).formulalocal = "=G-H" & cel.row

    Merci encore pour ton aide

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 653
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 653
    Points : 34 370
    Points
    34 370
    Par défaut
    bonjour,
    il te manque le chiffre après le G
    ca donnerait
    cel.offset(0,7).formulalocal = "=G" & cel.row & "-H" & cel.row

  7. #7
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Salut jpcheck

    Merci pour le coup de pouce
    Il m'a été d'une très grande utilité.

    Merci encore à Gorfael
    Tout va bien Maintenant
    A+

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

Discussions similaires

  1. [Toutes versions] Utilisation formules dynamiques dans une boucle
    Par diby88 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/04/2013, 16h34
  2. mettre une formule excel dans une cellule
    Par spoyet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/02/2012, 15h11
  3. mettre une formule excel dans une cellule
    Par spoyet dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/02/2012, 09h52
  4. [XL-2003] Formule excel dans une macro
    Par gangstarrr dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 15/03/2011, 16h41
  5. Ouvrir fichier excel dans une boucle
    Par Nako_lito dans le forum VBA Access
    Réponses: 3
    Dernier message: 10/08/2010, 13h40

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