Ecrire une macro IF
Résolu
schpop12
Messages postés
51
Statut
Membre
-
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.
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:
- Ecrire une macro IF
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Ecrire en gras sur whatsapp - Guide
- Comment écrire # sur pc - Guide
- Écrire en majuscule - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
6 réponses
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
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
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
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
Merci pour ta réponse rapide mais ça marche pas
j'ai l'impression qu'il reconnait pas la valeur B1 comme une cellule.
j'ai l'impression qu'il reconnait pas la valeur B1 comme une cellule.
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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