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

Doublons listbox

  • Initiateur de la discussion Initiateur de la discussion Roni95
  • 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 !

Roni95

XLDnaute Occasionnel
Bonjour Le forum !

J'ai crée un formulaire pour rentrer mes clients par n°, nom... et je souhaiterais ne pas saisir de doublons.

Auriez-vous une solution pour que lorsque je saisie par le n° de client, on puisse m'alerter que ce n° existe déjà?

Merci pour votre aide? (Par contre, je n'ai pas le fichier car suis à mon travail).
 
Re : Doublons listbox

Je me suis servis de la fonction suivante et ça fonctionne mais la valeur est tout de même inscrite dans ma feuille excel ??

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

If Target.Column = 1 Then

If Application.WorksheetFunction.CountIf(Range("A2:A5000"), Target.Value) > 1 Then MsgBox "ce nom existe déja"

End If

End Sub"

Comment faire pour qu'elle n'apparaisse pas?

Merci
 
Dernière édition:
Re : Doublons listbox

Bonjour à tous,

Essaye ceci :

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then
    If Application.WorksheetFunction.CountIf(Range("A2:A5000"), Target.Value) > 1 Then
       MsgBox "ce nom existe déja"
       Target = ""
       Target.Activate
    End If
End If
End Sub

Le doublon sera détecté puis effacé. Enfin la cellule sera de nouveau sélectionnée.

A+
 
Re : Doublons listbox

Re,

J'ai réussi à reproduire l'erreur. Elle se produit lorsque tu entres une valeur dans ta feuille (par macro pas manuellement) et que cette même feuille n'est pas la feuille active.

Soit tu rajoutes dans ta macro qui entre la donnée une instruction pour activer ta feuille ou soit tu fais le test avant de valider comme ceci:

Code:
Sub aa()
Dim LaVal
LaVal = 25
With Sheets("Feuil13")
    If Application.WorksheetFunction.CountIf(.Range("A2:A5000"), LaVal) > 0 Then
      MsgBox "ce nom existe déja"
      Exit Sub
    Else
     .Range("A25") = LaVal
    End If
End With
End Sub

A+
 
- 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

Discussions similaires

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