Fonction OU dans VBA, valeur plus petite ou plus grande

Annetoine

XLDnaute Nouveau
Bonjour,

Après avoir cherché un bon bout de temps, voici mon problème:

Je dois vérifier si 4 cellules sont plus grandes ou moins grandes qu'une valeur donnée. Si une des cellules est VRAIE, alors ça enchaine sur plusieurs commandes après.

J'ai testé ceci :

If Range("G339;G410") < -2 Or Range("G340;G410") > 2 Then
...
...
...
End If


Mais ça ne marche pas >_<
Des idées?

Merci !!!
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Fonction OU dans VBA, valeur plus petite ou plus grande

Bonjour Annetoine,

Bienvenue sur XLD,

Peut-être

Code:
If Range("G339") < -2 Or Range("G410")< -2 or Range("G340") > 2 or Range("G410") > 2 Then

Si pas ça, essaye de fournir plus d'explications et peut-être un bout de fichier
 

Annetoine

XLDnaute Nouveau
Re : Fonction OU dans VBA, valeur plus petite ou plus grande

Merci à tous pour vos réponse !

J'ai également trouvé une solution pendant ce temps :)
J'ai tout simplement mis :

If G339 < -2 Or G410 < -2 Or G340 > 2 Or G411 > 2 Then
...
...
...
End if

Cette solution fonctionne. J'avais essayé la solution de tototiti2008, mais bizarrement il me mettait un bug...

Mais la solution de Hellboy m'a l'air sympa, ça fait moins machine à gaz.. Je vais tester ça !

Merci à tous pour votre aide en tout cas !
Bon forum :cool:
 

Annetoine

XLDnaute Nouveau
Re : Fonction OU dans VBA, valeur plus petite ou plus grande

Voici le code que j'ai pour le moment:

''Choix pressions, -60Pa

If G339 < -2 Or G410 < -2 Or G340 > 2 Or G411 > 2 Then

Sheets("Rapport").Select

Range("E345").Select
ActiveCell.FormulaR1C1 = "-60 à -15Pa par paliers de 5Pa en croissant"

Range("D346").Select
ActiveCell.FormulaR1C1 = "-60"
Range("E346").Select
ActiveCell.FormulaR1C1 = "-55"
Range("D346:E346").Select
Selection.AutoFill Destination:=Range("D346:M346"), Type:=xlFillDefault

Sheets("Rapport Fan testic").Select
Range("C25:L25").Select
Selection.Copy
Sheets("Rapport").Select
Range("D347").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Rapport Fan testic").Select
Range("C29:L29").Select
Selection.Copy
Sheets("Rapport").Select
Range("D352").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


End If

'' Choix pressions -55PA
If G339 >= -2 Or G410 >= -2 Or G340 <= 2 Or G411 <= 2 Then

Sheets("Rapport").Select
Range("E345").Select
ActiveCell.FormulaR1C1 = "-55 à -10Pa par paliers de 5Pa en croissant"

Range("D346").Select
ActiveCell.FormulaR1C1 = "-55"
Range("E346").Select
ActiveCell.FormulaR1C1 = "-50"
Range("D346:E346").Select
Selection.AutoFill Destination:=Range("D346:M346"), Type:=xlFillDefault

Sheets("Rapport Fan testic").Select
Range("D25:M25").Select
Selection.Copy
Sheets("Rapport").Select
Range("D347").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Rapport Fan testic").Select
Range("C29:L29").Select
Selection.Copy
Sheets("Rapport").Select
Range("D352").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


End If


Voila, le texte en rouge correspond à ce qu'il doit faire si valeur VRAIE.
Si la 1ère boucle est juste, il ne doit pas effectuer la 2ème.

Merci !
 

tototiti2008

XLDnaute Barbatruc
Re : Fonction OU dans VBA, valeur plus petite ou plus grande

Bonjour soune, Bonjour Hellboy,
Re,

J'ai également trouvé une solution pendant ce temps :)
J'ai tout simplement mis :

If G339 < -2 Or G410 < -2 Or G340 > 2 Or G411 > 2 Then
...
...
...
End if

Cette solution fonctionne
Je me permet de douter
Encore, s'il y avait des crochets genre

Code:
If [G339] < -2 Or [G410] < -2 Or [G340] > 2 Or [G411] > 2 Then
je ne dis pas, mais sans crochets il m'étonnerait que ça fonctionne
Sinon l'idée de Hellboy avec les Min et Max est bonne aussi :)
 

Annetoine

XLDnaute Nouveau
Re : Fonction OU dans VBA, valeur plus petite ou plus grande

YESSSS ça marche !


Merci à tous !

Hellboy, c'est bien cela qu'il me fallait, ça marche nikel.

Il me restait encore un soucis, il ne prenait pas en compte la 1ère boucle, la réponse de tototiti2008 a résolu le problème !
Il manquait effectivement mes "[]" :)

Un grand merci pour votre aide ! Je suis trop content que ça fonctionne :D
 

Annetoine

XLDnaute Nouveau
Re : Fonction OU dans VBA, valeur plus petite ou plus grande

Aie Aie Aie, nouveau problème ... Petit celui là !

J'ai une celulle contenant la valeur suivant : 19 °C

J'ai besoin de copier et coller uniquement le chiffre, 19, puisqu'il est utilisé dans un calcul par la suite.

J'ai regardé un peu sur les forums, j'ai compris qu'il fallait utilisé la fonction Val, mais je n'arrive pas à la mettre en œuvre o_O
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 146
Membres
103 130
dernier inscrit
FRCRUNGR