Modification code VBA
Résolu/Fermé
Coco-8
Messages postés
92
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
16 juillet 2019
-
24 avril 2017 à 08:56
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 - 24 avril 2017 à 09:29
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 - 24 avril 2017 à 09:29
A voir également:
- Modification code VBA
- Suivi de modification word - Guide
- Logiciel gratuit modification pdf - Guide
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
3 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
24 avril 2017 à 09:03
24 avril 2017 à 09:03
Bonjour,
comme cela
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Union([F9:M28], [F11:H30], [M11:P30])) Is Nothing Then
Select Case Target
Case Is = 0: Target.Value = 1: Target.Interior.ColorIndex = 3
Case Is = 1: Target.ClearContents: Target.Interior.ColorIndex = 0
End Select
End If
End Sub
comme cela
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Union([F9:M28], [F11:H30], [M11:P30])) Is Nothing Then
Select Case Target
Case Is = 0: Target.Value = 1: Target.Interior.ColorIndex = 3
Case Is = 1: Target.ClearContents: Target.Interior.ColorIndex = 0
End Select
End If
End Sub
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié le 24 avril 2017 à 09:13
Modifié le 24 avril 2017 à 09:13
Re,
perso j'ajouterais une gestion d'erreur et éviterais de superposer les plages
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union([F9:M28], [F29:H30], [M29:M30], [N11:P30])) Is Nothing Then
Select Case Target
Case Is = 0: Target.Value = 1: Target.Interior.ColorIndex = 3
Case Is = 1: Target.ClearContents: Target.Interior.ColorIndex = xlNone
End Select
End If
End Sub
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
perso j'ajouterais une gestion d'erreur et éviterais de superposer les plages
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union([F9:M28], [F29:H30], [M29:M30], [N11:P30])) Is Nothing Then
Select Case Target
Case Is = 0: Target.Value = 1: Target.Interior.ColorIndex = 3
Case Is = 1: Target.ClearContents: Target.Interior.ColorIndex = xlNone
End Select
End If
End Sub
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
Coco-8
Messages postés
92
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
16 juillet 2019
2
24 avril 2017 à 09:14
24 avril 2017 à 09:14
J'ai pas précisé dans me demande que mes deux nouvelles plages remplaceraient l'ancienne donc il peut pas y avoir de problème de superposition. J'ai simplement supprimé [F9:M28] dans ton code et il fonctionne comme je le souhaite :)
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié le 24 avril 2017 à 09:28
Modifié le 24 avril 2017 à 09:28
Re,
en début de code ajoute cette gestion d'erreur pour éviter le plantage du code dans le cas de sélection accidentelle de deux cellules par exemple etc
On Error Resume Next
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
en début de code ajoute cette gestion d'erreur pour éviter le plantage du code dans le cas de sélection accidentelle de deux cellules par exemple etc
On Error Resume Next
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
Coco-8
Messages postés
92
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
16 juillet 2019
2
24 avril 2017 à 09:29
24 avril 2017 à 09:29
Ok ça marche, merci
24 avril 2017 à 09:05