Code VBA Excel
Résolu
Guiwii
-
guiwii -
guiwii -
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
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:
- Code VBA Excel
- Code ascii - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
1 réponse
bonjour
Afin que ta macro soit plus facilement modifiable je te propose de passer à la méthode select case plus souple.
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.
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.
C'est exactement ca.
Merci Bcp
Guiwii