OVH Cloud OVH Cloud

resultat d'un calcul en automatique par macro

6 réponses
Avatar
herve
bonjour a tous
je cherche une macro qui me permette de donner un resultat suivant plusieurs
paramètres
voici la base pour exemple
Z E R T
A 2 5 6 3
B 3 5 3 3
C 1 5 6 3
D 4 5 6 3


le resultat attendu est la somme de ZERT..... et ce suivant une donnée
ABCD....

A ER 11 5+6
A ZT 5 2+3
B ZT 6 3+3



si je saisi ZT et la valeur est A le resultat attendu est : 5 soit 3+2

si vous avez une idée....

merci

6 réponses

Avatar
Jacquouille
Ben Hervé ....
Moi y en a rien compris .
Peux-tu mettre tes données en colonnes et lignes et demander clairement ce
que tu veux ? svp?
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

"herve" a écrit dans le message de news:
41b6fd35$0$8104$
bonjour a tous
je cherche une macro qui me permette de donner un resultat suivant
plusieurs
paramètres
voici la base pour exemple
Z E R T
A 2 5 6 3
B 3 5 3 3
C 1 5 6 3
D 4 5 6 3


le resultat attendu est la somme de ZERT..... et ce suivant une donnée
ABCD....

A ER 11 5+6
A ZT 5 2+3
B ZT 6 3+3



si je saisi ZT et la valeur est A le resultat attendu est : 5 soit 3+2

si vous avez une idée....

merci




Avatar
Alain CROS
Bonjour

A adapter

Function Valeur&(Str1$, Str2$)
Dim I&, J&, Str$
I = Len(Str2)
On Error Resume Next
For J = 1& To I
Str = Left$(Right$(Str2, I - J + 1&), 1&)
Valeur = Valeur + Application.Evaluate("INDEX(" & _
"{2,5,6,3;3,5,3,3;1,5,6,3;4,5,6,3},MATCH(""" & Str1 & _
""",{""A"";""B"";""C"";""D""},0),MATCH(""" & Str & _
"""," & "{""Z"",""E"",""R"",""T""},0))")
Next J
On Error GoTo 0
End Function

Sub Essai()
MsgBox Valeur("A", "ZT")
End Sub

Alain CROS

"herve" a écrit dans le message de news: 41b6fd35$0$8104$
bonjour a tous
je cherche une macro qui me permette de donner un resultat suivant plusieurs
paramètres


Avatar
RaMA
Bonsoir
en formule:

=SOMMEPROD(INDIRECT(ADRESSE(EQUIV(A14;A2:A5;0)+1;2)&":"&ADRESSE(EQUIV(A14;A2:A5;0)+1;5))*(B1:E1=(STXT(A13;LIGNE(INDIRECT("1:"&NBCAR(A13)));1))))

ça marchotte mais
ton tableau doit être conçu ainsi
les entêtes de colonnes Z,E,R,T, en B1:E1
les entêtes de lignes A,B,C,D en A2:A5

les variables de colonne saisies ex : ZT en A13
la variable de ligne ex : A en A14

Si je trouve mieux je poste

Salutations
RaMa

--
.
"herve" a écrit dans le message de news:
41b6fd35$0$8104$
bonjour a tous
je cherche une macro qui me permette de donner un resultat suivant
plusieurs
paramètres
voici la base pour exemple
Z E R T
A 2 5 6 3
B 3 5 3 3
C 1 5 6 3
D 4 5 6 3


le resultat attendu est la somme de ZERT..... et ce suivant une donnée
ABCD....

A ER 11 5+6
A ZT 5 2+3
B ZT 6 3+3



si je saisi ZT et la valeur est A le resultat attendu est : 5 soit 3+2

si vous avez une idée....

merci




Avatar
herve
merci
simplement je rencontre un problème avec ma base

Function Valeur&(Str1$, Str2$)
Dim I&, J&, Str$
I = Len(Str2)
On Error Resume Next
For J = 1& To I
Str = Left$(Right$(Str2, I - J + 1&), 1&)
Valeur = Valeur + Application.Evaluate("INDEX(" & _

"{3,3,3,3,3,3,3,3;1,1,1,1,1,1,1,1;9,11,7,4,4,3,3,19;3,5,5,8,8,8,8,8;5,6,4,2,
2,2,2,2;10,10,10,10,10,10,10,10},MATCH(""" & Str1 & _
""",{""P"",""C"",""G"",""N"",""R"",""M""},0),MATCH(""" & Str & _
"""," &
"{""B"";""D"";""F"";""G1"";""G2"";""PG1"";""PG2"";""T""},0))")
Next J
On Error GoTo 0
End Function

les reponses avec G1 G2 PG1 PG2 me posent problèmes
si vous voyez pourquoi...
merci


"Alain CROS" a écrit dans le message de news:
e#
Bonjour

A adapter

Function Valeur&(Str1$, Str2$)
Dim I&, J&, Str$
I = Len(Str2)
On Error Resume Next
For J = 1& To I
Str = Left$(Right$(Str2, I - J + 1&), 1&)
Valeur = Valeur + Application.Evaluate("INDEX(" & _
"{2,5,6,3;3,5,3,3;1,5,6,3;4,5,6,3},MATCH(""" & Str1 & _
""",{""A"";""B"";""C"";""D""},0),MATCH(""" & Str & _
"""," & "{""Z"",""E"",""R"",""T""},0))")
Next J
On Error GoTo 0
End Function

Sub Essai()
MsgBox Valeur("A", "ZT")
End Sub

Alain CROS

"herve" a écrit dans le message de news:
41b6fd35$0$8104$

bonjour a tous
je cherche une macro qui me permette de donner un resultat suivant
plusieurs


paramètres






Avatar
herve
merci
la formule fonctionne tres bien si la base est sur la meme feuille
si elle se trouve sur une autre, le résultat est 0
que faire?
merci


"RaMA" a écrit dans le message de news:

Bonsoir
en formule:


=SOMMEPROD(INDIRECT(ADRESSE(EQUIV(A14;A2:A5;0)+1;2)&":"&ADRESSE(EQUIV(A14;A2

:A5;0)+1;5))*(B1:E1=(STXT(A13;LIGNE(INDIRECT("1:"&NBCAR(A13)));1))))

ça marchotte mais
ton tableau doit être conçu ainsi
les entêtes de colonnes Z,E,R,T, en B1:E1
les entêtes de lignes A,B,C,D en A2:A5

les variables de colonne saisies ex : ZT en A13
la variable de ligne ex : A en A14

Si je trouve mieux je poste

Salutations
RaMa

--
.
"herve" a écrit dans le message de news:
41b6fd35$0$8104$
bonjour a tous
je cherche une macro qui me permette de donner un resultat suivant
plusieurs
paramètres
voici la base pour exemple
Z E R T
A 2 5 6 3
B 3 5 3 3
C 1 5 6 3
D 4 5 6 3


le resultat attendu est la somme de ZERT..... et ce suivant une donnée
ABCD....

A ER 11 5+6
A ZT 5 2+3
B ZT 6 3+3



si je saisi ZT et la valeur est A le resultat attendu est : 5 soit 3+2

si vous avez une idée....

merci








Avatar
RaMA
Bonjour

Ceci devrait te permettre de mettre le tableau n'importe où
une cellule nommée IDline (par exemple en A1 du modèle que je t'avais
envoyé ) contient:
="'"&STXT(CELLULE("nomfichier";$A$2);CHERCHE("]";CELLULE("nomfichier";$A$2))+1;255)&"'!"&ADRESSE(EQUIV($A$14;$A$2:$A$5;0)+LIGNE($A$2)-1;COLONNE($B$1))&":"&ADRESSE(EQUIV($A$14;$A$2:$A$5;0)+LIGNE($A$2)-1;COLONNE($E$1))
une autre cellule avec ceci:
=SOMMEPROD(INDIRECT(IdLine)*($B$1:$E$1=(STXT($A$13;LIGNE(INDIRECT("1:"&NBCAR($A$13)));1))))

tu pourras ensuite déplacer le tableau comme tu veux

Dis moi si tu rencontres une difficulté
Ps: le classeur doit avoir été enregistré une fois
Salutations
RaMa

--
.
"herve" a écrit dans le message de news:
41b9acdb$0$8117$
merci
la formule fonctionne tres bien si la base est sur la meme feuille
si elle se trouve sur une autre, le résultat est 0
que faire?
merci


"RaMA" a écrit dans le message de news:

Bonsoir
en formule:


=SOMMEPROD(INDIRECT(ADRESSE(EQUIV(A14;A2:A5;0)+1;2)&":"&ADRESSE(EQUIV(A14;A2

:A5;0)+1;5))*(B1:E1=(STXT(A13;LIGNE(INDIRECT("1:"&NBCAR(A13)));1))))

ça marchotte mais
ton tableau doit être conçu ainsi
les entêtes de colonnes Z,E,R,T, en B1:E1
les entêtes de lignes A,B,C,D en A2:A5

les variables de colonne saisies ex : ZT en A13
la variable de ligne ex : A en A14

Si je trouve mieux je poste

Salutations
RaMa

--
.
"herve" a écrit dans le message de news:
41b6fd35$0$8104$
bonjour a tous
je cherche une macro qui me permette de donner un resultat suivant
plusieurs
paramètres
voici la base pour exemple
Z E R T
A 2 5 6 3
B 3 5 3 3
C 1 5 6 3
D 4 5 6 3


le resultat attendu est la somme de ZERT..... et ce suivant une donnée
ABCD....

A ER 11 5+6
A ZT 5 2+3
B ZT 6 3+3



si je saisi ZT et la valeur est A le resultat attendu est : 5 soit 3+2

si vous avez une idée....

merci