S2: SOMME(SI(I2<>0;SI((H2*J2/I2*0.1)>0;(H2*J2/I2*0.1);0);0);...) [Résolu/Fermé]

Signaler
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
-
Messages postés
9880
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juin 2021
-
Bonjour,
J'ai plusieurs formules que je n'arrivent pas à traduire en VBA.
Si quelqu'un veut bien me donner un petit coup de pouce svp :D

- Cellule S2
SOMME(SI(I2<>0;SI((H2*J2/I2*0.1)>0;(H2*J2/I2*0.1);0);0);+SI(N2<>0;SI((M2*O2/N2*0.1)>0;(M2*O2/N2*0.1);0);0))
- Cellule T2
(O2+J2)*(SI(E2="cadre";(F2/5);(F2/6))*G2)
- Cellule R2
MFC Couleur.Rouge si => =+Q2<>SI(S2>T2;S2;T2)

Comme vous le remarquerez, il y a de nombreuses conditions et sous-conditions et c'est exactement ça qui me pose problème.

Merciiiiiiiiiiiiiiii.

5 réponses

Messages postés
9880
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juin 2021
2 141
Bonjour

Q1. Est ce que tu veux que vba te mettre ces formules dans la feuille
Q2. Est ce que le 2 est la valeur d'une variable, si oui laquelle
Q3. Est ce que tu veux copier ces formules vers le bas, si oui jusqu'où
Q4. Est ce que ton excel est en français

Cdlmnt
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Bonjour ccm81 :)
Je suis fan de toi!!! C'est toujours le même tableau si lequel tu m'as déjà bcp aidé.

R1. Le résultat plutôt que la formule
R2. Je n'ai pas compris la question
R3. Oui c'est ça jusque tout en bas comme pour les autre formules avec la fameuse Range("XX" & i)
R4. Mon Excel est français et récent aussi :) (2013)

Merci.
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Tu veux que je te le renvoi?
J'ai déjà bien avancé mais j'ai encore mille et un projets qui me viennent en avançant.
ça me permet surtout d'apprendre sur un cas concret.
Messages postés
335
Date d'inscription
mercredi 3 septembre 2014
Statut
Membre
Dernière intervention
10 juin 2018
43
Serait il possible d'avoir le lien du fil en question ?
Messages postés
335
Date d'inscription
mercredi 3 septembre 2014
Statut
Membre
Dernière intervention
10 juin 2018
43
Bonjour;
- Cellule S2
SOMME(SI(I2<>0;SI((H2*J2/I2*0.1)>0;(H2*J2/I2*0.1);0);0);+SI(N2<>0;SI((M2*O2/N2*0.1)>0;(M2*O2/N2*0.1);0);0))

Peut être traduit par (non testé) :
'Variabe
dim som as double

'Initialisation
som =0

'Début
IF (range("I2")<>0) THEN
IF ((range("H2")*range("J2")/range("I2")*0.1)>0) THEN
som = som + (range("H2")*range("J2")/range("I2")*0.1)
END IF
END IF


IF(range("N2")<>0) THEN
IF((range("M2")*range("O2")/range("N2")*0.1)>0) THEN
som = som + (range("M2")*range("O2")/range("N2")*0.1)
END IF
END IF

'Mise à jour de S2
range("S2") = som


Qu'en pense tu ?
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Bonjour et merci,
ça bloque en ligne 9, je crois qu'il n'aime pas trop le !
Messages postés
335
Date d'inscription
mercredi 3 septembre 2014
Statut
Membre
Dernière intervention
10 juin 2018
43
Je l'ai enlevé, l'inversion de condition n'était pas nécessaire.
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Je ne savais pas ce que celà voulait bien dire, j'étais justement en train de chercher :)
Je test comme ça.
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Yes ça marche!!!!! Merci :D
Messages postés
9880
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juin 2021
2 141
Une petite macro qui met les formules colonne S, dans la feuille
Public Sub Formules()
Dim f As String, lifin As Long
lifin = Cells(Rows.Count, 13).End(xlUp).Row
f = "=SOMME(SI(I2<>0;SI((H2*J2/I2*0,1)>0;(H2*J2/I2*0,1);0);0);+SI(N2<>0;SI((M2*O2/N2*0,1)>0;(M2*O2/N2*0,1);0);0))"
Range("S2").FormulaLocal = f
Range("S2").AutoFill Destination:=Range("S2:S" & lifin), Type:=xlFillDefault
End Sub


RQ. Je n'ai pas mis de gestion d'erreur

Cdlmnt
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Merci,
j'ai une erreur ici
=> Range("S2").FormulaLocal = f

Et quand je pointe le curseur il me met la valeur de la cellule.
Messages postés
9880
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juin 2021
2 141
Chez moi, ça fonctionne
http://www.cjoint.com/c/FGDp0XCjVWe
RQ1. J'ai nettoyé ta colonne O où les cellules sans date contenaient des espaces !!!
RQ2. J'ai modifié un peu ta formule (je pense qu'on pourrait encore faire mieux)
RQ3. Si la proposition de Mosfet_05 que je salue au passage te convient, elle a l'avantage de moins encombrer le fichier, mais, pour écrire la formule vba avec une ligne variable, il va falloir la mettre dans une boucle et .... acheter un sac de guillemets ;-)

Cdlmnt
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1 >
Messages postés
335
Date d'inscription
mercredi 3 septembre 2014
Statut
Membre
Dernière intervention
10 juin 2018

Bonjour Mosfet_05 et merci
J'ai trouvé ça sur le site
ActiveSheet.Calculate

Je vais essayer :D
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Bonjour ccm81
Un grand merci encore.
Où se trouve le marché aux guillemets? x0x0x0x
Bon allez, je teste tout ça et je te tiens au courant.
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Arf...
J'ai une erreur.
Microsoft Visual Basic pour Application
(x) 400

Je suis perdue dans mon fichier. Trop de modif qui se croisent. Il me faut un café :@
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Gros PB
Mon traitement ne se fait plus :'(
J'ouvre un autre post et reviendrais ensuite ici pour faire mes tests
En espérant que je trouve une soluce...
merci!
Messages postés
112
Date d'inscription
mercredi 27 juillet 2016
Statut
Membre
Dernière intervention
2 juin 2020
1
Bonjour!!!!

Me revoilou :D

Je viens de faire le test à nouveau, et j'ai une erreur sur
=> Range("S2").FormulaLocal = f

Si tu as un peu de temps pour m'aider stp ;)
Messages postés
9880
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 juin 2021
2 141
En ce moment, je n'ai vraiment pas beaucoup de temps, mais tu devrais mettre le fichier en ligne, !

Cdlmnt