Conversion formule en code vba

deudecos

XLDnaute Impliqué
Bonjour a toutes et a tous,

Ca fait maintenant un petit moment que je me triture les meninges, et ca commence tres serieusement a chauffer pour aucun resultat, donc je me permet de vous poser la question. A coup sur, quelqu'un aura la reponse...:)

Je voudrais adapter cette formule, mais version VBA.

=SI($J$1>=C9;SI($J$1<=D9;SI($K$1>=E9;SI($K$1<=F9;SI($L$1>=G9;SI($L$1<=H9;"Ok";"");"");"");"");"");"")

Voir meme simplifier cette formule de facon a trouver l'equivalent en VBA, mais la je seche.

Bonne journee

Olivier
 

Tibo

XLDnaute Barbatruc
Re : Conversion formule en code vba

Bonjour,

Sans fichier pour pouvoir tester, il me semble qu'il est possible de simplifier la formule ainsi (sous réserve quand même) :

Code:
=SI(ET($J$1>=C9;$J$1<=D9;$K$1>=E9;$K$1<=F9;$L$1>=G9;$L$1<=H9);"Ok";"")

Je te laisse tester

Pour la macro, peut-être essayer avec l'enregistreur.

@+
 

deudecos

XLDnaute Impliqué
Re : Conversion formule en code vba

Salut Tibo,

Merci pour la simplification, par contre pour l'enregistreur, ca ne fonctionne pas parce qu'il se contente de faire un ="=etpatatietpatata"
En gros, c'est la meme formule entre parentheses.
Or ce que je voudrais, en passant par vba, c'est calculer sans passer par une cellule.

Bonne journee

Olivier
 

Pierrot93

XLDnaute Barbatruc
Re : Conversion formule en code vba

Bonjour Olivier, Tibo

pas sur d'avoir très bien compris, en plus ne suis qu'un piètre formuliste, mais essaye peut être comme ceci :

Code:
Sub test()
If (Range("J1").Value >= Range("C9").Value And Range("J1").Value <= Range("D9").Value) And _
    (Range("K1").Value >= Range("E9").Value And Range("K1").Value <= Range("F9").Value) And _
    (Range("L1").Value >= Range("G9").Value And Range("L1").Value <= Range("H9").Value) Then
    MsgBox "OK"
Else
    MsgBox "NonOK"
End If
End Sub

sinon peut être qu'un peit fichier, avec explication du test à effectuer pourrait être utilie.

bonne journée.
@+
 

deudecos

XLDnaute Impliqué
Re : Conversion formule en code vba

Salut Pierrot,

Je crois que je vais pouvoir te donner le baton pour me battre...
Ca fait deux bonnes heures que j'ai ecris exactement le meme code a un detail pres...
J'ai oublie les "Value". Je ne pensais pas que ca pouvait creer probleme a ce point...

Merci de m'avoir raffraichit la memoire !

Bonne journee

Olivier
 

deudecos

XLDnaute Impliqué
Re : Conversion formule en code vba

Salut Excel_Lent,

Merci pour ta proposition, et de l'avoir essayee ma fait entrevoir une erreur de taille...
A savoir que cette formule te donne la correspondance entre par exemple 200 et 300, parce que la recherche est faite sur plus grand que 200 et moins grand que 300.
Jusque la tout va bien mais... Parce qu'il y a un mais.
Si je lance la meme formule avec dans ma ligne de recherche les nombres 170 et 300, et bien ca me la validera quand meme tout simplement parce que c'est compris entre 0 et 300.
En fait la condition <=300 annule par son effet la condition >=200.
En fichier joint l'exemple de l'erreur...
En colonne L j'ai aussi essaye avec la formule directement dans les cellules et j'obtiens la meme chose.

Bonne journee

Olivier
 

Pièces jointes

  • EssaiV1.xls
    41.5 KB · Affichages: 62
  • EssaiV1.xls
    41.5 KB · Affichages: 70
  • EssaiV1.xls
    41.5 KB · Affichages: 70
Dernière édition:

Excel_lent

XLDnaute Impliqué
Re : Conversion formule en code vba

Re ainsi qu'aux chalands qui passent.

Désolé mais je n'ai pas compris ton message.
La formule est-elle erronée ? Est-elle inadaptée à ton étude ?
Si je lance la meme formule avec dans ma ligne de recherche les nombres 170 et 300, et bien ca me la validera quand meme tout simplement parce que c'est compris entre 0 et 300.
Quelle ligne de recherche (J1, K1, L1) ?
Quelles variables pour 170 et 300 (tu en as 3 : X, Y et Z) ?
Cela te validera quoi ?
Qui est compris entre 0 et 300 ?
 

deudecos

XLDnaute Impliqué
Re : Conversion formule en code vba

Salut Excel_lent, le forum,

Je vous dois des excuses a tous parce que je me suis fourvoye...:(
Je n'avais pourtant rien bu, mais j'ai inverse le sens de ma requete. Je voulais absolument que le resultat soit a l'inverse de ce qu'il devrait etre...
En fait, la formule est parfaitement adaptee.
Je crois que j'ai besoin de vacances !

Bonne journee

Olivier
 
Dernière édition:

Discussions similaires

Réponses
18
Affichages
758

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 155
dernier inscrit
lombrik