Ecrire une macro IF

Résolu
schpop12 Messages postés 51 Statut Membre -  
schpop12 Messages postés 51 Statut Membre -
Bonjour,

je veut mettre une condition multiple sur une cellule, avec la fonction SI on peut mettre seulement 7 conditions. il me semble qu'avec une macro on peut faire plus.

Quel est le code VBA pour dire

SI B1<1 alors B2=1
Si 1<B1<3 alors B2=3
......
......
......

J'ai une dizaine de condition

En fait je connait pas la commande pour dire valeur comprise entre.

Si quelqu'un peut m'aider merci d'avance.
A voir également:

6 réponses

mario90 Messages postés 31 Statut Membre 7
 
Si la macro est lancée à partir de l'onglet actif, il faut remplacer :

B1 par Cells(1, 2).Value (attention 1er chiffre représente la ligne et le 2ème la colonne)
et B2 par Cells(2, 2).Value

Si la macro n'est pas lancée à partir de l'onglet actif, il faut ajouter Worksheets("Onglet") devant Cells( ligne, colonne).Value
Comme ceci Worksheets("Onglet").Cells( ligne, colonne).Value
1
mario90 Messages postés 31 Statut Membre 7
 
Bonjour,

Pour ton cas

If B1 < 1 Then
B2 = 1 '==> B1 < 1
Elseif B1 < 3 Then
B2 = 2 '==> 1 < B1 < 3
Elseif B1 < 5 Then
B3 = 3 '==> 3 < B1 < 5
Endif

J'espère que ça t'aidera
0
schpop12 Messages postés 51 Statut Membre 6
 
Merci pour ta réponse rapide mais ça marche pas

j'ai l'impression qu'il reconnait pas la valeur B1 comme une cellule.
0
schpop12 Messages postés 51 Statut Membre 6
 
bon j'ai écrit

Sub test()


If Cell(1, 2) < 1 Then
Cell(2, 2) = 1 '==> Cell(1,2) < 1
ElseIf Cell(1, 2) < 3 Then
Cell(2, 2) = 2 '==> 1 < Cell(1,2)< 3
ElseIf Cell(1, 2) < 5 Then
Cell(3, 2) = 3 '==> 3 < Cell(1,2)< 5
End If

End Sub


ca me marque sub ou fonction non définis.

ou est le problème
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mario90 Messages postés 31 Statut Membre 7
 
En fait tu as saisie une mauvaise syntaxe : tu a oublié le s de Cells et tu n'a pas mis '.Value'

Voici ton code (je l'ai testé et ça marche)

Sub test()


If Cells(1, 2).Value < 1 Then
Cells(2, 2).Value = 1
ElseIf Cells(1, 2).Value < 3 Then
Cells(2, 2).Value = 2
ElseIf Cells(1, 2).Value < 5 Then
Cells(2, 2).Value = 3
End If

End Sub
0
schpop12 Messages postés 51 Statut Membre 6
 
Merci beaucoup


ça marche nickel j'ai plus qu'a l'adapter a ma feuille.

encore merci
0