Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème avec formule si

matrix

XLDnaute Occasionnel
Bonjour à tous,

Dans mon fichier excel, j'ai cette formule qui ne marche pas.

Code:
'% SELON TYPE
nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
    Sheets("COUT PAR PÉRIODE").Range("D5:D" & nbLignes).Formula = "=(B5;B5/SOMME(B5:B503);0)"

Je voudrais qui me calcule les informations, mais ça ne fonctionne pas.

Comment faire s.v.p.

au lieu d'inscrire la formule, peut-on insérer seulement le résultat?

Merci de votre aide!
 

Pièces jointes

  • Test1.zip
    14 KB · Affichages: 19
  • Test1.zip
    14 KB · Affichages: 24
  • Test1.zip
    14 KB · Affichages: 24

cbea

XLDnaute Impliqué
Re : Problème avec formule si

Bonjour Matrix,

Avec une formule :
Code:
Sheets("COUT PAR PÉRIODE").Range("D5:D" & nbLignes).Formula = "=IF(B5,B5/SUM(B5:B503),0)"
 

cbea

XLDnaute Impliqué
Re : Problème avec formule si

Voici 2 solutions :

1er cas : avec la formule dans la cellule
PS : dans mon message précédent, il y avait une erreur dans la formule
Code:
    Dim nbLignes as Long
    nbLignes = Cells(Rows.Count, "A").End(xlUp).Row

    Sheets("COUT PAR PÉRIODE").Range("D5:D" & nbLignes).Formula = "=IF(B5,B5/SUM($B$5:$B$" & nbLignes & "),0)"

2me cas : avec le résultat directement dans la cellule
Code:
    Dim Plage As Range, Cell As Range
    Dim nbLignes as Long
    nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
    
    Set Plage = Sheets("COUT PAR PÉRIODE").Range("B5:B" & nbLignes)
    For Each Cell In Plage
        Cell.Offset(0, 2).Value = Cell.Value / Application.WorksheetFunction.Sum(Plage)
    Next Cell
 

Discussions similaires

Réponses
9
Affichages
530
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…