Autres Code VBA

yazidioubi

XLDnaute Nouveau
Je veux transformer la formule dans le classeur excel ci-joint en code VBA?
quelqu'un peut m'aider?
merci d'avance à tous.
 

Pièces jointes

  • rip.xlsx
    8.1 KB · Affichages: 10

Dudu2

XLDnaute Barbatruc
Bonjour,
VB:
MsgBox Evaluate([D5].Formula)
affiche 32.
Attention: .Formula est la formule en anglais:
=IF((97-MOD((((89*7)+(15*99999)+(3*B1))),97))+30<97,(97-MOD((((89*7)+(15*99999)+(3*B1))),97))+30,IF(AND(97-MOD((((89*7)+(15*99999)+(3*B1))),97))+30>97,((97-MOD((((89*7)+(15*99999)+(3*B1))),97))+30-97),97))

Donc:
VB:
Dim S As String
S = "=IF((97-MOD((((89*7)+(15*99999)+(3*B1))),97))+30<97,(97-MOD((((89*7)+(15*99999)+(3*B1))),97))+30,IF(AND(97-MOD((((89*7)+(15*99999)+(3*B1))),97))+30>97,((97-MOD((((89*7)+(15*99999)+(3*B1))),97))+30-97),97))"
MsgBox Evaluate(S)
affiche 32.
 
Dernière édition:

job75

XLDnaute Barbatruc
En fait le vrai problème c'est que la formule en D5 n'a pas de sens.

Si l'on définit le nom X par la formule =97-MOD((((89*7)+(15*99999)+(3*B1)));97)

la formule en D5 s'écrit =SI(X+30<97;X+30;SI(ET(X)+30>97;(X+30-97);97))

ET(X)
ça ne va pas...

Salut Dudu2.
 

yazidioubi

XLDnaute Nouveau
Voila le fichier corrigé; que je cherche toujours le code VBA;
j'ai reçu une réponse de
sylvanu (je le remercie)
mais ça n'a pas marché comme il faut. par example dans le cas ou le numero de compte est:
6465981, je veut le résultat 32. mais le code m'as donné -65
 

Pièces jointes

  • rip.xlsx
    9.4 KB · Affichages: 4

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 847
dernier inscrit
Djigbenou