Bonjour à tous,
J'ai un souci avec une macro, je suis débutant avec les boucles...
VBA me met une incompatibilité de type au niveau du Range. Les cellules B34:E34 sont fusionnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, k As Integer For i = 34 To 47 For k = 1 To 14 If Range("B" & i & ":E" & i) <> "" Then ActiveSheet.Shapes("CheckBox" & k).Visible = True Else ActiveSheet.Shapes("CheckBox" & k).Visible = False End If Next Next End Sub
En fait j'essayais de "simplifier" le programme ci-dessous avec une boucle, bien plus pratique :
Un peu d'aide serait la bienvenue !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Range("B34") <> "" Then Shapes("CheckBox1").Visible = True If Range("B34") = "" Then Shapes("CheckBox1").Visible = False If Range("B35") <> "" Then Shapes("CheckBox2").Visible = True If Range("B35") = "" Then Shapes("CheckBox2").Visible = False If Range("B36") <> "" Then Shapes("CheckBox3").Visible = True If Range("B36") = "" Then Shapes("CheckBox3").Visible = False If Range("B37") <> "" Then Shapes("CheckBox4").Visible = True If Range("B37") = "" Then Shapes("CheckBox4").Visible = False If Range("B38") <> "" Then Shapes("CheckBox5").Visible = True If Range("B38") = "" Then Shapes("CheckBox5").Visible = False If Range("B39") <> "" Then Shapes("CheckBox6").Visible = True If Range("B39") = "" Then Shapes("CheckBox6").Visible = False If Range("B40") <> "" Then Shapes("CheckBox7").Visible = True If Range("B40") = "" Then Shapes("CheckBox7").Visible = False If Range("B41") <> "" Then Shapes("CheckBox8").Visible = True If Range("B41") = "" Then Shapes("CheckBox8").Visible = False If Range("B42") <> "" Then Shapes("CheckBox9").Visible = True If Range("B42") = "" Then Shapes("CheckBox9").Visible = False If Range("B43") <> "" Then Shapes("CheckBox10").Visible = True If Range("B43") = "" Then Shapes("CheckBox10").Visible = False If Range("B44") <> "" Then Shapes("CheckBox11").Visible = True If Range("B44") = "" Then Shapes("CheckBox11").Visible = False If Range("B45") <> "" Then Shapes("CheckBox12").Visible = True If Range("B45") = "" Then Shapes("CheckBox12").Visible = False If Range("B46") <> "" Then Shapes("CheckBox13").Visible = True If Range("B46") = "" Then Shapes("CheckBox13").Visible = False If Range("B47") <> "" Then Shapes("CheckBox14").Visible = True If Range("B47") = "" Then Shapes("CheckBox14").Visible = False End Sub
Merci
Partager