Bonjour
Malgré plusieurs recherches et essais des solutions lues, j'ai toujours un pb avec un code VBA. Lorsque que j'exécute mon fichier excel, un message d'erreur apparaît :
"Erreur d' exécution '13'
Incompatibilité de type "
Si j'isole le code qui permet de contrôler la répétition sur un fichier vierge, cela fonctionne.
En pièce jointe il y a le fichier alléger sur lequel je travail.
Merci d'avance.
Malgré plusieurs recherches et essais des solutions lues, j'ai toujours un pb avec un code VBA. Lorsque que j'exécute mon fichier excel, un message d'erreur apparaît :
"Erreur d' exécution '13'
Incompatibilité de type "
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range, DerLg As Long, Contenu As String
Set Plage = Range("P5:P" & Range("P" & Rows.Count).End(xlUp).Row)
DerLg = Sheets("Archive").Range("P" & Rows.Count).End(xlUp).Row + 1
If Not Intersect(Target, Plage) Is Nothing And Target.Count = 1 Then
If Target.Value = "x" Then
Target.EntireRow.Copy Destination:=Sheets("Archive").Range("A" & DerLg)
Target.EntireRow.Delete
MsgBox "Ligne archivée ", vbInformation
End If
End If
'colonne à "surveiller" (ici colonne A)
If Target.Column = 1 Then
' pour vérifier si la saisie n'existe pas déjà dans la colonne
If Application.WorksheetFunction. _
CountIf(Range("A:A"), Target.Value) > 1 Then
MsgBox "OT déjà créer dans la liste"
Target.Value = ""
Target.Select
End If
End If
End Sub
Si j'isole le code qui permet de contrôler la répétition sur un fichier vierge, cela fonctionne.
En pièce jointe il y a le fichier alléger sur lequel je travail.
Merci d'avance.