Vba conditions
sterlook
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ayant jamais programmé en vba, et étant obligé de m'en servir pour mon travail, je viens
poster mon problème ici en ésperant trouver quelques choses.
Ce qui me manque c'est ce traitement là:
J'ai 2 colonnes (valeurs) : C et V sous excel
J'ai 3 conditions à faire pour le nettoyage de ces données pour qu'ensuite je pourrai avoir
ma courbe qui va faire l'objet de l'étude globale qu'il faut que je fasses.
1: if C >= 1000 (Réaffectation de la valeur C sur toutes les lignes où C=0 && V#0)
2: if C>= (Remplacer C par la médiane)
3: if (C= 0 && delta(V) > 50) (remplacer C par la médiane)
Merci d'avance
Ayant jamais programmé en vba, et étant obligé de m'en servir pour mon travail, je viens
poster mon problème ici en ésperant trouver quelques choses.
Ce qui me manque c'est ce traitement là:
J'ai 2 colonnes (valeurs) : C et V sous excel
J'ai 3 conditions à faire pour le nettoyage de ces données pour qu'ensuite je pourrai avoir
ma courbe qui va faire l'objet de l'étude globale qu'il faut que je fasses.
1: if C >= 1000 (Réaffectation de la valeur C sur toutes les lignes où C=0 && V#0)
2: if C>= (Remplacer C par la médiane)
3: if (C= 0 && delta(V) > 50) (remplacer C par la médiane)
Merci d'avance
5 réponses
Bonjour,
« étant obligé de m'en servir » Pourquoi est-ce une obligation ???
Pas besoin du VBA, ce problème peux être résolu avec de simples formules dans des colonnes libres et un filtre !!!
« étant obligé de m'en servir » Pourquoi est-ce une obligation ???
Pas besoin du VBA, ce problème peux être résolu avec de simples formules dans des colonnes libres et un filtre !!!
coucou,
J'ai rien compris à ta demande.
La première condition est contradictoire car tu parles C>= 1000 mais en même temps c=0 ???
ensuite, tu parles d'une médiane, elle est déjà calculé? C'est la médiane de la colonne C C'est la médiane de V???
Delta(V), je suis peut être une bille, mais c'est quoi?
et la médiance, elle est déjà calculée?? Faut la calculer?? Comment est ce qu'elle se calcule.
Il faut que tu précises tout ca avant d'avoir une aide.
J'ai rien compris à ta demande.
La première condition est contradictoire car tu parles C>= 1000 mais en même temps c=0 ???
ensuite, tu parles d'une médiane, elle est déjà calculé? C'est la médiane de la colonne C C'est la médiane de V???
Delta(V), je suis peut être une bille, mais c'est quoi?
et la médiance, elle est déjà calculée?? Faut la calculer?? Comment est ce qu'elle se calcule.
Il faut que tu précises tout ca avant d'avoir une aide.
slt mélanie,
Alors pour être plus clair :
if C >= 1000 (Réaffectation de la valeur C sur toutes les lignes où C=0 && V#0)
admettant que j'ai une C = 1598 donc C > 1000 ----> réaffectation du C là où il y a la condition
C=0 && V#0 C'est à dire que C va prendre la valeur réaffectée
Exemple
C V
0 0
15 45
0 15
0 12
1598 45
489 89
on a la valeur 1598 ---> elle est >= 1000 ---> donc réaffectation sur là ou C=0 et V # 0
on a 2 fois C=0 et V #0 ----> 1598 / 3 =535.66 (J'ai pris 3 , ce qui correspond aux occurences C=0 V#0 + la valeur meme de 1598)
Le résultat donnera :
C V
0 0
15 45
535.66 15
535.66 12
535.66 45
489 89
Pour la médiane : elle est pas calculée justement. le calcul se fait au fur et a mesure
médiance=médiane faute de frappe
Delta(V) : V - (V-1)
J'espere etre clair
Alors pour être plus clair :
if C >= 1000 (Réaffectation de la valeur C sur toutes les lignes où C=0 && V#0)
admettant que j'ai une C = 1598 donc C > 1000 ----> réaffectation du C là où il y a la condition
C=0 && V#0 C'est à dire que C va prendre la valeur réaffectée
Exemple
C V
0 0
15 45
0 15
0 12
1598 45
489 89
on a la valeur 1598 ---> elle est >= 1000 ---> donc réaffectation sur là ou C=0 et V # 0
on a 2 fois C=0 et V #0 ----> 1598 / 3 =535.66 (J'ai pris 3 , ce qui correspond aux occurences C=0 V#0 + la valeur meme de 1598)
Le résultat donnera :
C V
0 0
15 45
535.66 15
535.66 12
535.66 45
489 89
Pour la médiane : elle est pas calculée justement. le calcul se fait au fur et a mesure
médiance=médiane faute de frappe
Delta(V) : V - (V-1)
J'espere etre clair
Avec le valeurs de C en colonne A (A2 à A7) et celles de V en colonne B (B2 à B7)
Formule en C2 :
=SI(ET(MAX($A$2:$A$7)>1000;OU(ET(A2=0;B2<>0);A2=MAX(A$2:A$7)));MAX($A$2:$A$7)/(SOMMEPROD(($A$2:$A$7=0)*($B$2:$B$7<>0))+1);A2)
à tirer vers le bas jusqu'en C7
Formule en C2 :
=SI(ET(MAX($A$2:$A$7)>1000;OU(ET(A2=0;B2<>0);A2=MAX(A$2:A$7)));MAX($A$2:$A$7)/(SOMMEPROD(($A$2:$A$7=0)*($B$2:$B$7<>0))+1);A2)
à tirer vers le bas jusqu'en C7
Re,
J'ai dédoublé ton tableau avec 2 dates en plus :
Avec les valeurs de C en colonne A (A2 à A13) et celles de V en colonne B (B2 à B13) et la date en colonne C :
Formule en D2 :
=SI(ET(MAX(($C$2:$C$13=C2)*$A$2:$A$13)>1000;OU(ET(A2=0;B2<>0);A2=MAX(($C$2:$C$13=C2)*$A$2:$A$13)));MAX(($C$2:$C$13=C2)*$A$2:$A$13)/(SOMMEPROD(($A$2:$A$13=0)*($B$2:$B$13<>0))+1);A2)
Attention : à valider par Maj+Ctrl+Entrée puis à tirer vers bas
Cordialement
Patrice
J'ai dédoublé ton tableau avec 2 dates en plus :
Avec les valeurs de C en colonne A (A2 à A13) et celles de V en colonne B (B2 à B13) et la date en colonne C :
Formule en D2 :
=SI(ET(MAX(($C$2:$C$13=C2)*$A$2:$A$13)>1000;OU(ET(A2=0;B2<>0);A2=MAX(($C$2:$C$13=C2)*$A$2:$A$13)));MAX(($C$2:$C$13=C2)*$A$2:$A$13)/(SOMMEPROD(($A$2:$A$13=0)*($B$2:$B$13<>0))+1);A2)
Attention : à valider par Maj+Ctrl+Entrée puis à tirer vers bas
Cordialement
Patrice
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Ce sera peut-être plus simple avec le fichier :
https://www.cjoint.com/13ju/CGprybiPFir_sterlock.xls
Ce sera peut-être plus simple avec le fichier :
https://www.cjoint.com/13ju/CGprybiPFir_sterlock.xls
si t'as des solutions sans passer par vba , je suis preneurrrrrrrrrrrr