Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 @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é
 

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.
 

Discussions similaires

Réponses
32
Affichages
907
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…