Code VBA Excel

Résolu/Fermé
Guiwii - 2 janv. 2009 à 14:01
 guiwii - 2 janv. 2009 à 19:59
Bonjour a tous,

Excel 2003 et VBA

J'ai récupéré une macro sur internet, pour insérer des "X" 'Style case a cocher. Cette macro marche trés bien mais seulement pour une colone, j'aimerais pourvoir cocher plusieurs colonnes (Ex B , N , ...) dans un intervalle de ligne prédéfinie comme cela est déja le cas.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cellule As Range
For Each Cellule In Selection
If Cellule.Row > 5 And Cellule.Row < 100 And Cellule.Column = 2 Then
If Cellule = "X" Then
Cellule = ""
Else
Cellule = "X"
End If
End If
Next Cellule
End Sub





Auriez vous une solution.

Merci d'avance

Guiwii
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
2 janv. 2009 à 18:38
bonjour

Afin que ta macro soit plus facilement modifiable je te propose de passer à la méthode select case plus souple.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cellule As Range
For Each Cellule In Selection
    Select Case Cellule.Row
        Case 6 To 99        ' lignes 6 à 99
        Case Else
            Exit Sub
    End Select
    Select Case Cellule.Column
        Case 2, 14          ' colonnes 2 (B) ou 14 (N)
        Case Else
            Exit Sub
    End Select
    If Cellule = "X" Then
        Cellule = ""
    Else
        Cellule = "X"
    End If
Next Cellule
End Sub

Tu peux ainsi alterner entre les plages (6 To 99) et les valeurs séparées par virgule (2, 14) et toutes les valeurs non sélectionnées sortent de la macro.
0
Super,

C'est exactement ca.

Merci Bcp

Guiwii
0