Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Bonjour.
Sub Action()
For Each c In [A1:A30]
If c = True Then
c.Offset(, 2).Value = c.Offset(, 1).Value * 2
Else
c.Value = False
c.Offset(, 2).Value = 0
End If
Next c
End Sub
Cordialement.
Daniel
> Bonjour,
>
>
> Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
> macro qui fait par exemple :
>
> Sub Action()
> If Range("A1") = True Then
> Range("C1") = Range("B1") * 2
> Else
> Range("A1") = False
> Range("C1") = 0
> End If
> End Sub
>
> Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
> mais comment faire l'indexation ?
>
> Merci d'avance,
>
>
> GGAL
Bonjour.
Sub Action()
For Each c In [A1:A30]
If c = True Then
c.Offset(, 2).Value = c.Offset(, 1).Value * 2
Else
c.Value = False
c.Offset(, 2).Value = 0
End If
Next c
End Sub
Cordialement.
Daniel
> Bonjour,
>
>
> Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
> macro qui fait par exemple :
>
> Sub Action()
> If Range("A1") = True Then
> Range("C1") = Range("B1") * 2
> Else
> Range("A1") = False
> Range("C1") = 0
> End If
> End Sub
>
> Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
> mais comment faire l'indexation ?
>
> Merci d'avance,
>
>
> GGAL
Bonjour.
Sub Action()
For Each c In [A1:A30]
If c = True Then
c.Offset(, 2).Value = c.Offset(, 1).Value * 2
Else
c.Value = False
c.Offset(, 2).Value = 0
End If
Next c
End Sub
Cordialement.
Daniel
> Bonjour,
>
>
> Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
> macro qui fait par exemple :
>
> Sub Action()
> If Range("A1") = True Then
> Range("C1") = Range("B1") * 2
> Else
> Range("A1") = False
> Range("C1") = 0
> End If
> End Sub
>
> Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
> mais comment faire l'indexation ?
>
> Merci d'avance,
>
>
> GGAL
Juste pour le plaisir, en utilisant les CheckBox
plutôt que leur cellule liée...
J'ai supposé que tu n'avais que ces 30 checkbox
dans ta feuille :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test()
Dim Sh As Shape,`x As Object
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
Next
End Sub
'--------------------------------
Et si on voulait profiter des "vieilles affaires" qui trainent
pour des raisons de compatibilité on pourrait écrire la macro
de cette manière :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test1()
Dim X As CheckBox
For Each X In CheckBoxes
With X
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
Next
End Sub
'--------------------------------
"GGAL" a écrit dans le message de groupe de discussion :
Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Juste pour le plaisir, en utilisant les CheckBox
plutôt que leur cellule liée...
J'ai supposé que tu n'avais que ces 30 checkbox
dans ta feuille :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test()
Dim Sh As Shape,`x As Object
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
Next
End Sub
'--------------------------------
Et si on voulait profiter des "vieilles affaires" qui trainent
pour des raisons de compatibilité on pourrait écrire la macro
de cette manière :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test1()
Dim X As CheckBox
For Each X In CheckBoxes
With X
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
Next
End Sub
'--------------------------------
"GGAL" <GGAL@discussions.microsoft.com> a écrit dans le message de groupe de discussion :
B90CDB87-EEF5-4547-8B9F-5C9FD1090A0E@microsoft.com...
Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Juste pour le plaisir, en utilisant les CheckBox
plutôt que leur cellule liée...
J'ai supposé que tu n'avais que ces 30 checkbox
dans ta feuille :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test()
Dim Sh As Shape,`x As Object
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
Next
End Sub
'--------------------------------
Et si on voulait profiter des "vieilles affaires" qui trainent
pour des raisons de compatibilité on pourrait écrire la macro
de cette manière :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test1()
Dim X As CheckBox
For Each X In CheckBoxes
With X
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
Next
End Sub
'--------------------------------
"GGAL" a écrit dans le message de groupe de discussion :
Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Juste pour le plaisir, en utilisant les CheckBox
plutôt que leur cellule liée...
J'ai supposé que tu n'avais que ces 30 checkbox
dans ta feuille :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test()
Dim Sh As Shape,`x As Object
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
Next
End Sub
'--------------------------------
Et si on voulait profiter des "vieilles affaires" qui trainent
pour des raisons de compatibilité on pourrait écrire la macro
de cette manière :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test1()
Dim X As CheckBox
For Each X In CheckBoxes
With X
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
Next
End Sub
'--------------------------------
"GGAL" a écrit dans le message de groupe de discussion
:
Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Juste pour le plaisir, en utilisant les CheckBox
plutôt que leur cellule liée...
J'ai supposé que tu n'avais que ces 30 checkbox
dans ta feuille :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test()
Dim Sh As Shape,`x As Object
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
Next
End Sub
'--------------------------------
Et si on voulait profiter des "vieilles affaires" qui trainent
pour des raisons de compatibilité on pourrait écrire la macro
de cette manière :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test1()
Dim X As CheckBox
For Each X In CheckBoxes
With X
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
Next
End Sub
'--------------------------------
"GGAL" <GGAL@discussions.microsoft.com> a écrit dans le message de groupe de discussion
:
B90CDB87-EEF5-4547-8B9F-5C9FD1090A0E@microsoft.com...
Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Juste pour le plaisir, en utilisant les CheckBox
plutôt que leur cellule liée...
J'ai supposé que tu n'avais que ces 30 checkbox
dans ta feuille :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test()
Dim Sh As Shape,`x As Object
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
Next
End Sub
'--------------------------------
Et si on voulait profiter des "vieilles affaires" qui trainent
pour des raisons de compatibilité on pourrait écrire la macro
de cette manière :
Ce code est dans la feuille module où l'action se déroule.
'--------------------------------
Sub test1()
Dim X As CheckBox
For Each X In CheckBoxes
With X
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 2) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
Next
End Sub
'--------------------------------
"GGAL" a écrit dans le message de groupe de discussion
:
Bonjour,
Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
macro qui fait par exemple :
Sub Action()
If Range("A1") = True Then
Range("C1") = Range("B1") * 2
Else
Range("A1") = False
Range("C1") = 0
End If
End Sub
Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
mais comment faire l'indexation ?
Merci d'avance,
GGAL
Choisis l'une ou l'autre
Dans les exemples suivants, j'ai supposé que
la racine des noms des checkbox débutait par "denis"
'----------------------------
Sub test()
Dim Sh As Shape, x As Object
Application.EnableEvents = False
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
If LCase(Left(x.Name, 5)) = "denis" Then
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 1) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
End If
Next
Application.EnableEvents = True
End Sub
'----------------------------
Sub test1()
Dim x As CheckBox
Application.EnableEvents = False
For Each x In CheckBoxes
If LCase(Left(x.Name, 5)) = "denis" Then
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 1) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End If
Next
Application.EnableEvents = True
End Sub
'----------------------------
"GGAL" a écrit dans le message de groupe de discussion :
OK pour ces réponses.
Dans les deux cas on balaie l'ensemble des cellules ou des Checkbox. Et
quand les objets sont nombreux, on sent que ça mouline !
Effectivement, j'ai d'autres Checkbox dans la feuille, ce qui complique le
problème avec les méthodes de michdenis.
Pourrait-on agir directement sur le nom des Checkbox ? Celles-ci étant
renommées et indicées :
Checkbox1
...
Checkbox30
GGAL
"michdenis" a écrit :
> Juste pour le plaisir, en utilisant les CheckBox
> plutôt que leur cellule liée...
> J'ai supposé que tu n'avais que ces 30 checkbox
> dans ta feuille :
> Ce code est dans la feuille module où l'action se déroule.
> '--------------------------------
> Sub test()
> Dim Sh As Shape,`x As Object
> For Each Sh In Shapes
> Set x = Sh.OLEFormat.Object
> Select Case TypeName(x)
> Case Is = "CheckBox"
> With x
> If .Value = 1 Then
> Range(.LinkedCell).Offset(, 2) = _
> Range(.LinkedCell).Offset(, 2) * 2
> Else
> .Value = False
> Range(.LinkedCell).Offset(, 2).Value = 0
> End If
> End With
> End Select
> Next
> End Sub
> '--------------------------------
>
> Et si on voulait profiter des "vieilles affaires" qui trainent
> pour des raisons de compatibilité on pourrait écrire la macro
> de cette manière :
> Ce code est dans la feuille module où l'action se déroule.
> '--------------------------------
> Sub test1()
> Dim X As CheckBox
> For Each X In CheckBoxes
> With X
> If .Value = 1 Then
> Range(.LinkedCell).Offset(, 2) = _
> Range(.LinkedCell).Offset(, 2) * 2
> Else
> .Value = False
> Range(.LinkedCell).Offset(, 2).Value = 0
> End If
> End With
> Next
> End Sub
> '--------------------------------
>
>
>
> "GGAL" a écrit dans le message de groupe de discussion
> :
>
> Bonjour,
>
>
> Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
> macro qui fait par exemple :
>
> Sub Action()
> If Range("A1") = True Then
> Range("C1") = Range("B1") * 2
> Else
> Range("A1") = False
> Range("C1") = 0
> End If
> End Sub
>
> Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
> mais comment faire l'indexation ?
>
> Merci d'avance,
>
>
> GGAL
>
Choisis l'une ou l'autre
Dans les exemples suivants, j'ai supposé que
la racine des noms des checkbox débutait par "denis"
'----------------------------
Sub test()
Dim Sh As Shape, x As Object
Application.EnableEvents = False
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
If LCase(Left(x.Name, 5)) = "denis" Then
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 1) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
End If
Next
Application.EnableEvents = True
End Sub
'----------------------------
Sub test1()
Dim x As CheckBox
Application.EnableEvents = False
For Each x In CheckBoxes
If LCase(Left(x.Name, 5)) = "denis" Then
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 1) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End If
Next
Application.EnableEvents = True
End Sub
'----------------------------
"GGAL" <GGAL@discussions.microsoft.com> a écrit dans le message de groupe de discussion :
A5949181-5C10-49F7-96A6-577757E18DE3@microsoft.com...
OK pour ces réponses.
Dans les deux cas on balaie l'ensemble des cellules ou des Checkbox. Et
quand les objets sont nombreux, on sent que ça mouline !
Effectivement, j'ai d'autres Checkbox dans la feuille, ce qui complique le
problème avec les méthodes de michdenis.
Pourrait-on agir directement sur le nom des Checkbox ? Celles-ci étant
renommées et indicées :
Checkbox1
...
Checkbox30
GGAL
"michdenis" a écrit :
> Juste pour le plaisir, en utilisant les CheckBox
> plutôt que leur cellule liée...
> J'ai supposé que tu n'avais que ces 30 checkbox
> dans ta feuille :
> Ce code est dans la feuille module où l'action se déroule.
> '--------------------------------
> Sub test()
> Dim Sh As Shape,`x As Object
> For Each Sh In Shapes
> Set x = Sh.OLEFormat.Object
> Select Case TypeName(x)
> Case Is = "CheckBox"
> With x
> If .Value = 1 Then
> Range(.LinkedCell).Offset(, 2) = _
> Range(.LinkedCell).Offset(, 2) * 2
> Else
> .Value = False
> Range(.LinkedCell).Offset(, 2).Value = 0
> End If
> End With
> End Select
> Next
> End Sub
> '--------------------------------
>
> Et si on voulait profiter des "vieilles affaires" qui trainent
> pour des raisons de compatibilité on pourrait écrire la macro
> de cette manière :
> Ce code est dans la feuille module où l'action se déroule.
> '--------------------------------
> Sub test1()
> Dim X As CheckBox
> For Each X In CheckBoxes
> With X
> If .Value = 1 Then
> Range(.LinkedCell).Offset(, 2) = _
> Range(.LinkedCell).Offset(, 2) * 2
> Else
> .Value = False
> Range(.LinkedCell).Offset(, 2).Value = 0
> End If
> End With
> Next
> End Sub
> '--------------------------------
>
>
>
> "GGAL" <GGAL@discussions.microsoft.com> a écrit dans le message de groupe de discussion
> :
> B90CDB87-EEF5-4547-8B9F-5C9FD1090A0E@microsoft.com...
> Bonjour,
>
>
> Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
> macro qui fait par exemple :
>
> Sub Action()
> If Range("A1") = True Then
> Range("C1") = Range("B1") * 2
> Else
> Range("A1") = False
> Range("C1") = 0
> End If
> End Sub
>
> Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
> mais comment faire l'indexation ?
>
> Merci d'avance,
>
>
> GGAL
>
Choisis l'une ou l'autre
Dans les exemples suivants, j'ai supposé que
la racine des noms des checkbox débutait par "denis"
'----------------------------
Sub test()
Dim Sh As Shape, x As Object
Application.EnableEvents = False
For Each Sh In Shapes
Set x = Sh.OLEFormat.Object
If LCase(Left(x.Name, 5)) = "denis" Then
Select Case TypeName(x)
Case Is = "CheckBox"
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 1) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End Select
End If
Next
Application.EnableEvents = True
End Sub
'----------------------------
Sub test1()
Dim x As CheckBox
Application.EnableEvents = False
For Each x In CheckBoxes
If LCase(Left(x.Name, 5)) = "denis" Then
With x
If .Value = 1 Then
Range(.LinkedCell).Offset(, 2) = _
Range(.LinkedCell).Offset(, 1) * 2
Else
.Value = False
Range(.LinkedCell).Offset(, 2).Value = 0
End If
End With
End If
Next
Application.EnableEvents = True
End Sub
'----------------------------
"GGAL" a écrit dans le message de groupe de discussion :
OK pour ces réponses.
Dans les deux cas on balaie l'ensemble des cellules ou des Checkbox. Et
quand les objets sont nombreux, on sent que ça mouline !
Effectivement, j'ai d'autres Checkbox dans la feuille, ce qui complique le
problème avec les méthodes de michdenis.
Pourrait-on agir directement sur le nom des Checkbox ? Celles-ci étant
renommées et indicées :
Checkbox1
...
Checkbox30
GGAL
"michdenis" a écrit :
> Juste pour le plaisir, en utilisant les CheckBox
> plutôt que leur cellule liée...
> J'ai supposé que tu n'avais que ces 30 checkbox
> dans ta feuille :
> Ce code est dans la feuille module où l'action se déroule.
> '--------------------------------
> Sub test()
> Dim Sh As Shape,`x As Object
> For Each Sh In Shapes
> Set x = Sh.OLEFormat.Object
> Select Case TypeName(x)
> Case Is = "CheckBox"
> With x
> If .Value = 1 Then
> Range(.LinkedCell).Offset(, 2) = _
> Range(.LinkedCell).Offset(, 2) * 2
> Else
> .Value = False
> Range(.LinkedCell).Offset(, 2).Value = 0
> End If
> End With
> End Select
> Next
> End Sub
> '--------------------------------
>
> Et si on voulait profiter des "vieilles affaires" qui trainent
> pour des raisons de compatibilité on pourrait écrire la macro
> de cette manière :
> Ce code est dans la feuille module où l'action se déroule.
> '--------------------------------
> Sub test1()
> Dim X As CheckBox
> For Each X In CheckBoxes
> With X
> If .Value = 1 Then
> Range(.LinkedCell).Offset(, 2) = _
> Range(.LinkedCell).Offset(, 2) * 2
> Else
> .Value = False
> Range(.LinkedCell).Offset(, 2).Value = 0
> End If
> End With
> Next
> End Sub
> '--------------------------------
>
>
>
> "GGAL" a écrit dans le message de groupe de discussion
> :
>
> Bonjour,
>
>
> Sur une feuille j'ai une case à cocher et la cellule liée A1, j'associe une
> macro qui fait par exemple :
>
> Sub Action()
> If Range("A1") = True Then
> Range("C1") = Range("B1") * 2
> Else
> Range("A1") = False
> Range("C1") = 0
> End If
> End Sub
>
> Je voudrais appliquer la même procédure pour 30 cases à cocher de A1:A30,
> mais comment faire l'indexation ?
>
> Merci d'avance,
>
>
> GGAL
>