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

Z

ZORRO30

Guest
Bonjour à tous
sur une colonne où on rentre des références ( 0 à 2000 ref )
je voudrais indiquer à la personne qui rentre une nouvelle référence
qu' elle est présente dans la colonne si c'est le cas, pour éviter les doublons

Merci d'avance
 
Bonjour le forum
Bonjour ZORRO30, bonjour Gérard

En VBA (court mais efficace). A adapter ==> ici colonne 1 (A)

'Debra Dalgleish, mpep
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 1 Then

If Application.WorksheetFunction. _
CountIf(Range("A:A"), Target.Value) > 1 Then

MsgBox "Cette saisie existe déjà !!!!!"
Target.Value = ""
Target.Select
End If
End If
End Sub

@++ Eric C
 
Merci Gérard mais pour la formule =NB.SI(C$7:C$11;C7)<2 je ne vois pas à quoi correspond C7 et j' ai mon résultat de formule qui est toujours à 1

Merci Eric mais il faudrait m'en dire un peu plus car je commence la prog sur Excel et la je bloque macro -> VBA -> ???

Merci de me répondre
 
Bonsoir Zorro30
Bonsoir Eric

La solution d'Éric est la plus simple la plus rapide la ..... mieux quoi.
Tu dois copier Ctrl C le texte ci-dessous



Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then
If Application.WorksheetFunction. _
CountIf(Range("A:A"), Target.Value) > 1 Then
MsgBox "Cette saisie existe déjà !"
Target.Value = ""
Target.Select
End If
End If
End Sub
ensuite tu te places dans ta feuille de travail, tu fais Alt+F11 ce qui ouvre l'éditeur VB tu double clique sur Feuil1(Feuil1) à gauche dans la fenetre VBAProject et tu colles Ctrl+V ton texte.
Tu fais Fichier fermer et retrourner à Microsoft Excel
et ainsi à chaque fois que tu inscriras dans la colonne A une valeur qui existe déjà un Msgbox va apparaître pour te le signaler et effacer cette donnée interdite.
Comme te le dit Eric il faut adapter le code en fonction de ta demande Ici c'est Colonne 1 (Target.column=1) et CountIf(Range("A:A")
Penser à le modifier en cas de besoin.
@+
GD
 
Ok j'ai rectifié le tir concernant la colonne. Le problème venait en fait
du niveau de sécurité des macros qui était trop élevé.
Par contre maintenant lorsque je teste les entrées, j'ai bien la fenêtre qui apparait pour m'indiquer le doublon.Mais quand je valide OK,cela m'enlève bien la ligne doublon mais la fenêtre reste et pas moyen de la faire partir.Je dois quitter excel par arrêt d' application.

Merci d'avance
 
Bonjour le forum
Re bonjour Gérard & Zorro30

Que nous chantes tu là ? Que vient faire ici le niveau de protection des macros ? L'évènement du bouton Ok est :
- "Disparition" de la MsgBox
- Remise à "blanc" de la cellule qui contenait le doublon
- La sélection de ladite cellule en attente d'une nouvelle entrée
Le mieux serait de mettre en ligne ton fichier pour regarder cela de plus près.
Bon ouikand à toutes & à tous
@ ++ Eric C
 
Bonjour à tous
pour Eric : il ne se passait rien dans la feuille tant que je n'ais pas diminueé le niveau de sécurité dans le menu " outils " -> macro -> sécurité ( j' étais au max )
Je t' ai fais suivre le fichier car j' ai toujours le problème de l'enlèvement de la fenêtre OK et par moment le simple fait de pointer sur une cellule me déclenche la fenêtre d' avertissement

salut
 
- 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

Réponses
5
Affichages
204
Retour