Pourquoi vous fusionnez G et H ? Avec VBA les fusions sont déconseillées. Vous évitez les éventuels soucis
Donc en premier défusionnez G et H et laissez le "num candidat" en H
Pour annuler :
- utilisez le code ci-dessous pour l'annulation
- ajouter un bouton pour l'annulation et liez le au code ci-dessous
Sub Annuler()
Dim dlg As Integer
Dim Cel as Range
dlg = Range("H" & Rows.Count).End(xlUp).Row
For Each cel In Range(Cells(5, 8), Cells(dlg, 8))
With cel
If .Interior.ColorIndex <> xlNone And .Offset(0, 2) > 0 Then
If MsgBox("Voulez-vous retirer le vote pour le candidat " & cel.Offset(0, 1).Value & "?", vbYesNo + vbDefaultButton2, "Confirmation") = vbYes Then
.Offset(0, 2).Value = .Offset(0, 2).Value - 1
.Interior.ColorIndex = xlNone
Exit Sub
End If
End If
End With
Next cel
End Sub
Merci de ne plus mettre des fichiers en ligne. J'ai le dernier qui me sert de modèle pour le cas où il y aurait encore des modifi. Sans quoi je dois tout refaire