Introduire une valiable dans le Range()
akregor
Messages postés
1
Statut
Membre
-
NHenry Messages postés 15479 Statut Modérateur -
NHenry Messages postés 15479 Statut Modérateur -
voici mon code que je suis assez désespéré de faire marcher, comme vous pouvez le voire, j'essaye de colorier des cases d'une base de donnée en fonction de leur contenu. qqun peut me dire quel est le hic ? j'aimerais bien introduire une variable dans le range et ne sait pas comment le faire ...
Sub eval()
Dim x As Integer
Dim a, b, c As Range
a = Range(Cells("A", x))
e = Range(Cells("E", x))
f = Range(Cells("F", x))
For x = 2 To a.Value = Null
Select Case e.Value
Case 4
Select Case f.Value
Case "Petit"
a.Interior.ColorIndex = 39
Case "Moyen"
a.Interior.ColorIndex = 39
Case "Grand"
a.Interior.ColorIndex = 39
End Select
Case 5
Select Case f.Value
Case "Petit"
a.Interior.ColorIndex = 39
Case "Moyen"
a.Interior.ColorIndex = 39
Case "Grand"
a.Interior.ColorIndex = 39
End Select
Case 6
Select Case f.Value
Case "Petit"
a.Interior.ColorIndex = 39
Case "Moyen"
a.Interior.ColorIndex = 39
Case "Grand"
a.Interior.ColorIndex = 39
End Select
Case 7
Select Case f.Value
Case "Petit"
a.Interior.ColorIndex = 39
Case "Moyen"
a.Interior.ColorIndex = 39
Case "Grand"
a.Interior.ColorIndex = 39
End Select
End Select
x = x + 1
Next x
End Sub
A voir également:
- Introduire une valiable dans le Range()
- Vba range avec variable ✓ - Forum VB / VBA
- Out of range écran ✓ - Forum Matériel & Système
- Input signal out of range - Forum Windows
- Probleme de résolution 1920x1080 out of range - Forum Matériel & Système
- Input signal out of range. (Problème Difficile) ✓ - Forum Matériel & Système
2 réponses
Bonjour,
Tu créés tes RANGE .. en dehors de ta boucle...
Normal que X ne change pas...
Ensuite...
Pour définir une Variable comme une RANGE .. il faut utiliser le mot clé.. SET
Et enfin... tu écris :
Cette syntaxe n'est pas bonne......
Si tu veux dire... jusqu'à ce que la cellule A soit vide... ce n'est pas un FOR qu'il faut utiliser mais un do loop until..
Tu créés tes RANGE .. en dehors de ta boucle...
Normal que X ne change pas...
For x=2 to......
a = Range(Cells("A", x))
e = Range(Cells("E", x))
f = Range(Cells("F", x))
Ensuite...
Pour définir une Variable comme une RANGE .. il faut utiliser le mot clé.. SET
dim a as range
dim b as range
dim c as range
SET a = Range(Cells("A", x))
SET e = Range(Cells("E", x))
SET f = Range(Cells("F", x))
Et enfin... tu écris :
For x = 2 To a.Value = Null
Cette syntaxe n'est pas bonne......
Si tu veux dire... jusqu'à ce que la cellule A soit vide... ce n'est pas un FOR qu'il faut utiliser mais un do loop until..
Dim valCelluleE
Dim X as Integer
X=2
Do Until IsEmpty(celluleActive)
valCelluleE = cells(X,"E").value
valCelluleF = cells(X,"F").value
Select Case valCelluleE
Case 4
Select Case valCelluleF
Case "Petit"
a.Interior.ColorIndex = 39
Case "Moyen"
a.Interior.ColorIndex = 39
Case "Grand"
a.Interior.ColorIndex = 39
End Select
Case 5
'....
End Select
X = X+1
Loop
Bonjour Akregor, bonjour le forum,
c'est quoi ton code. Du VB ou du VBA ?
Si c'est du VBA, je ne le comprends pas et je pense que tu devrais nous fournir un fichier exemple montrant ce tu as avant et ce que tu voudrais après le traitement par la macro...
c'est quoi ton code. Du VB ou du VBA ?
Si c'est du VBA, je ne le comprends pas et je pense que tu devrais nous fournir un fichier exemple montrant ce tu as avant et ce que tu voudrais après le traitement par la macro...
Case "Petit", "Moyen", "Grand"