VBA - Aide pour code

pepsi

XLDnaute Occasionnel
Bonjour ,

Grâce au forum, j'ai pu mettre au point un code qui me permet :

- D'afficher des coches sur les colonnes 4 & 5

- Et de comparer ma feui1 et copie_Feuil1 afin de voir quelles sont les modifications :

a chaque modification sur la feuil1, les cellules du tableau dont le contenu diffère de la feuille copie_Feuil1 sont passées en orange

Cela marche très bien avec les colonnes 6 et 7

Par contre les deux colonnes qui ont des coches (4 et 5) , cela ne marche pas. J'ai mis un code identique au colonne 6 et 7 mais sans succès

Si quelqu'un peut jeter un coup d' oeuil à mon code et m'aider à voir pourquoi cela ne marche pas, ce serait vraiment très gentil



Note : je souhaite garder ce système de coches et ne pas passer sur des coches de type formulaire.

J'ai également un autre problème moindre : de temps en temps à la saisie dans le tableau, je suis automatiquement renvoyée à la ligne 199 ...


Merci d'avance
 

Pièces jointes

  • COCHES.xlsm
    219.5 KB · Affichages: 46

Hippolite

XLDnaute Accro
Re : VBA - Aide pour code

Bonjour,
C'est plus simple de ne traiter que ce qui change :
VB:
Option Explicit

' AFFICHER LES COCHES "Wingdings"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim ligne As Long
    Application.ScreenUpdating = False
    If Target.Count > 1 Then Exit Sub
    ligne = Target.Row
    If (Target.Column = 4 Or Target.Column = 5) And ligne > 5 Then
        Target = IIf(Target = "þ", "", "þ")
        ActiveCell.Offset(0, 2).Select
    End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Inter As Range, c As Range
    Set Inter = Intersect(Target, Range("D6:G199"))
    If Not Inter Is Nothing Then
        For Each c In Inter
            If c.Value <> Worksheets("copie_Feuil1").Range(c.Address).Value Then
                With c
                    .Interior.ColorIndex = 46
                End With
            Else
                With c
                    .Interior.ColorIndex = 0
                End With
            End If
        Next c
    End If
    Set Inter = Nothing
End Sub
A+
 

pepsi

XLDnaute Occasionnel
Re : VBA - Aide pour code

Bonjour Hippolite,

Je te remercie pour ta réponse et ta proposition de code qui répond parfaitement à ce que je souhaitais obtenir.
Effectivement, à la lecture de ton code , je me rends compte qu'il était vraiment plus "simple" de traiter uniquement ce qui change.

en tout cas merci encore et bonne journée
 

Discussions similaires

Réponses
22
Affichages
742

Statistiques des forums

Discussions
312 088
Messages
2 085 202
Membres
102 817
dernier inscrit
Nini668