• Initiateur de la discussion Initiateur de la discussion Loulou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Loulou

Guest
Bonjour

Je transfert des données d'une feuille sur une autre en faisant un test de doublon cela fonctionne bien mais j'ai mis un message pour dire attention doublon est maintenant cela ne fonctionne plus ?
Si vous avez une idée merci pour votre aide

Loulou
 
Re : Message sur doublon

Bonjour,

Est-ce que tu te relis parfois 🙄

Comment veux-tu que l'on puisse répondre à ta question 😕

J'ai une voiture qui démarrais, j'ai tourné un jour la clé, elle n'a pas voulu démarrer ... quelqu'un à une idée !?

Si tu ne peux pas mettre le fichier, mets au moins le code ... pffttt
 
Re : Message sur doublon

Bonjour M. BrunoM45

Je début et je vois que vous m'encourager à continuer dans cette voix merci pour votre aide je vous propose dans le code demandé.

Sincères salutations

-----------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim Colonne As Integer
Dim Adresse As String

'On sort si plus d'une cellule a été modifiée
If Target.Count > 1 Then Exit Sub
'On sort si la cellule modifiée est vide
If Target.Value = "" Then Exit Sub

'Définit la colonne à vérifier (1=Colonne A, 2=colonne B ...etc...)
Colonne = 4

'Vérifie si c'est la colonne cible a été modifiée
If Target.Column = Colonne Then

'Recherche si la nouvelle donnée existe déjà dans la colonne.
Adresse = Columns(4).Find(What:=Target.Value, After:=Target.Offset(1, 0), LookAt:=xlWhole, _
SearchDirection:=xlNext).Address

'Si l'adresse de cellule trouvée ne correspond pas à la cellule modifiée, cela
'signifie qu'il y a un doublon dans la colonne.
If Adresse <> Target.Address Then


Set Plage = Worksheets("Management visuel ORDO")

MsgBox "Le N° DME '" & Target & "' existe déjà"


'Suppression des données
Range("C37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("D37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("E37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("F37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("G37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("H37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("I37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("J37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("K37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("L37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("M37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("O37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("P37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("Q37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("U37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("V37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Range("W37").End(xlUp).Offset(0, 0).Select
Selection.ClearContents
Sheets("gestion Ordo").Select



End If
End If
End Sub
 
Re : Message sur doublon

Bonjour Loulou,

Je débute et je vois que vous m'encouragez à continuer dans cette voie
Mon cher, quand on débute, toute critique est bonne à prendre 😉
cela permet d'avancer ...

Sinon pour le code, à part son optimisation, je ne vois pas de problème particulier

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  Dim Colonne As Integer
  Dim Adresse As String
  Dim Lig As Long, Rng As String
  'On sort si plus d'une cellule a été modifiée
  If Target.Count > 1 Then Exit Sub
  'On sort si la cellule modifiée est vide
  If Target.Value = "" Then Exit Sub
  'Définit la colonne à vérifier (1=Colonne A, 2=colonne B ...etc...)
  Colonne = 4
  'Vérifie si c'est la colonne cible a été modifiée
  If Target.Column = Colonne Then
    'Recherche si la nouvelle donnée existe déjà dans la colonne.
    Adresse = Columns(4).Find(What:=Target.Value, After:=Target.Offset(1, 0), LookAt:=xlWhole, _
                              SearchDirection:=xlNext).Address
    'Si l'adresse de cellule trouvée ne correspond pas à la cellule modifiée, cela
    'signifie qu'il y a un doublon dans la colonne.
    If Adresse <> Target.Address Then
      Set Plage = Worksheets("Management visuel ORDO")
      MsgBox "Le N° DME '" & Target.Value & "' existe déjà"
      'Suppression des données
      Lig = Range("C37").End(xlUp).Row
      ' Création de la plage de donnée
      Rng = "C" & Lig & ":M" & Lig & ",O" & Lig & ":Q" & Lig & ",U" & Lig & ":W" & Lig
      ' Effacer le contenu de la plage
      Range(Rng).ClearContents
      Sheets("gestion Ordo").Activate
    End If
  End If
End Sub

A+
 
Re : Message sur doublon

Bonjour,
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Count > 1 Then Exit Sub
If Target = "" Or Target.Column <> 4 Then Exit Sub
If Application.CountIf(Columns(4), Target) > 1 Then
    MsgBox "Le N° DME '" & Target & "' existe déjà"
    Target.Clear
    Exit Sub 'ou peut-être pas
End If
'Set Plage ...
'...

End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2013 Annulé
Réponses
6
Affichages
294
Réponses
1
Affichages
161
Réponses
9
Affichages
563
Retour