S2: SOMME(SI(I2<>0;SI((H2*J2/I2*0.1)>0;(H2*J2/I2*0.1);0);0);...)
Résolu
NaXiLeAn
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- S2: SOMME(SI(I2<>0;SI((H2*J2/I2*0.1)>0;(H2*J2/I2*0.1);0);0);...)
- Jag s2 - Accueil - Objets connectés
- Traktor kontrol s2 logiciel gratuit - Télécharger - Création musicale
- Tablette samsung galaxy tab s2 s'allume et s'éteint ✓ - Forum Matériel & Système
- Galaxy tab s2 redemarre en boucle ✓ - Forum Samsung
- Yayusi s2 notice français - Guide
5 réponses
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
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
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é) :
Qu'en pense tu ?
- 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 ?
Une petite macro qui met les formules colonne S, dans la feuille
RQ. Je n'ai pas mis de gestion d'erreur
Cdlmnt
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
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
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
Bonsoir,
En effet, il vaut mieux faire ainsi.
En ce qui concerne l'erreur rencontrée, il est possible que le module VBA utilisé ne soit pas identique à celui du demandeur.
Enfin, il faudrait rajouter une petite ligne pour demander à Excel de bien vouloir recalculer l'ensemble du classeur, juste par sécurité.
En effet, il vaut mieux faire ainsi.
En ce qui concerne l'erreur rencontrée, il est possible que le module VBA utilisé ne soit pas identique à celui du demandeur.
Enfin, il faudrait rajouter une petite ligne pour demander à Excel de bien vouloir recalculer l'ensemble du classeur, juste par sécurité.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.