XL 2019 soucis avec un code VBA pour les doublons

chinel

XLDnaute Impliqué
Bonjour tout le monde, j'ai mon code et j'ai déniché un autre code (en vert) que je désire intégrer dans le mien mais cela ne fonctionne pas, besoin d'aide merci

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

if Intersect(Target, [B:B,G:G]) Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
if Target.Count > 1 Then Application.Undo: GoTo 1 'annule les entrées ou effacements multiples
if Target = "" Or (Application.CountIf([B:B], Target) + Application.CountIf([G:G], Target)) = 1 Then GoTo 1
Target.Select
MsgBox "Cette personne est déjà affectée à une autre machine !", 48, "Doublon"
Target = ""
1 Application.EnableEvents = True 'réactive les évènements






If Range("A8") = "à l'arrêt" Then Range("B8,B10:B15,C8,C10:C15") = ""
If Range("A10") = "à l'arrêt" Then Range("B10") = ""
If Range("A11") = "à l'arrêt" Then Range("B11") = ""
If Range("A12") = "à l'arrêt" Then Range("B10:B15") = ""
If Range("A13") = "à l'arrêt" Then Range("B13") = ""
If Range("A14") = "à l'arrêt" Then Range("B14") = ""
If Range("A15") = "à l'arrêt" Then Range("B15") = ""

If Range("F8") = "à l'arrêt" Then Range("G8,G10:G15,h8,h10:h15") = ""
If Range("F10") = "à l'arrêt" Then Range("G10:G12") = ""
If Range("F11") = "à l'arrêt" Then Range("G11") = ""
If Range("F12") = "à l'arrêt" Then Range("G12") = ""
If Range("F13") = "à l'arrêt" Then Range("G13") = ""
If Range("F14") = "à l'arrêt" Then Range("G14") = ""
If Range("F15") = "à l'arrêt" Then Range("G15") = ""

If Range("A17") = "à l'arrêt" Then Range("B17,B19:B22,c17:c22") = ""
If Range("a19") = "à l'arrêt" Then Range("b19") = ""
If Range("a20") = "à l'arrêt" Then Range("b20") = ""
If Range("a21") = "à l'arrêt" Then Range("b21") = ""
If Range("a22") = "à l'arrêt" Then Range("b22") = ""

If Range("F17") = "à l'arrêt" Then Range("G17,G19:G23,h17,h19:h23") = ""
If Range("F19") = "à l'arrêt" Then Range("G19") = ""
If Range("F20") = "à l'arrêt" Then Range("G20") = ""
If Range("F21") = "à l'arrêt" Then Range("g21") = ""
If Range("F22") = "à l'arrêt" Then Range("g22") = ""
If Range("F23") = "à l'arrêt" Then Range("g23") = ""





If Range("A25") = "à l'arrêt" Then Range("B25,c25") = ""
If Range("A26") = "à l'arrêt" Then Range("B26,c26") = ""
If Range("A27") = "à l'arrêt" Then Range("B27,c27") = ""
If Range("A28") = "à l'arrêt" Then Range("B28,c28") = ""
If Range("A29") = "à l'arrêt" Then Range("B29,c29") = ""


Application.EnableEvents = True
End Sub
 

job75

XLDnaute Barbatruc
Bonjour,
En effet,tel que tu as recopié le code, il aurait dû planté. Car il y a GoTo 1 qui est une étiquette qui devrait être plus bas dans le code suivi de ':' ) deux points. C'est à dire 1:
Avec les étiquettes numériques les 2 points ne sont pas nécessaires :
VB:
Sub Test1()
GoTo 1
Exit Sub
1 MsgBox "Sans 2 points"
End Sub
Par contre :
VB:
Sub Test2()
GoTo fin
Exit Sub
fin: MsgBox "Avec 2 points"
End Sub
A+
 

cp4

XLDnaute Barbatruc
Bonjour,

Avec les étiquettes numériques les 2 points ne sont pas nécessaires :
VB:
Sub Test1()
GoTo 1
Exit Sub
1 MsgBox "Sans 2 points"
End Sub
Par contre :
VB:
Sub Test2()
GoTo fin
Exit Sub
fin: MsgBox "Avec 2 points"
End Sub
A+
Bonjour @job75 ;) ,

Tous mes remerciements et toute ma gratitude pour ton gracieux partage. Grâce aux anciens(nes) j'ai beaucoup appris. Tu viens encore de m'apprendre une chose que je ne connaissais pas.
Je suis autodidacte, depuis mon inscription sur XLD, en toute modestie, j'ai bien progressé.

Bonne fin de journée.
 

chinel

XLDnaute Impliqué
@chinel : Comme je te l'ai déjà dit, si tu utilises un autre fichier que le mien et que tu n'expliques pas la ou les manipulations que tu fais. Il m'est impossible de t'aider. Car je dois reproduire, ce que tu as fait et suivre le fonctionnement du code.
C'est ce que tu devrais faire, exécution du code pas à pas en utilisant la touche F8.

edit: joint ton fichier réel
 

Pièces jointes

  • Planning d'équipe Melvin (bonne version).xlsm
    55.4 KB · Affichages: 2

cp4

XLDnaute Barbatruc
Ton fichier cause toujours problème. Malgré cela, j'ai pris le risque de l'ouvrir. Cependant, il me semble que sur la feuille "planning" il y avait des listes de validation qui n'existent plus sur le fichier joint réparé par Excel.
1673285003764.png
 

Discussions similaires

Réponses
26
Affichages
1 K
Réponses
0
Affichages
147

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972