Afficher 1 msge erreur doublon en VBA

J

Jean-Pierre

Guest
Bonjour à tous,

Voici le soucis que je n'arrive pas à résoudre:

J'ai une liste de noms sur une Feuil2, sur la feuil1 une colonne (A2:A34) une série de N° de 68 à 100 représentant des attributions que je dois donner à chaque nom, comme par exemple
un Nom avec son N° de diplôme.
j'ai créé un UserForm sur la Feuil2 comprenant 2 fenêtres déroulantes
permettant de 'voir'mes N° (Feuil1) & les noms (Feuil2) et un bouton de validation permettant d'enregistrer le N° dans Feui1!B2 & Nom (Feuil1!C2) et pour l'opérateur l'affichage du résulat dans une cellule de la Feuil2!P249 & Q249.
Ce que je souhaiterai : c'est un message d'erreur qui devrait apparaître avertissant l'opérateur qu'1 de ces N° a déjà été attribué.
J'ai essayé toutes les opérations y compris ''Validation'.
Voilà, je m'en remets à vous qui avez de l'expérience et du génie!
mais peut-être que je suis utopique et dans ce cas je vous prie
de m'excuser pour ce long bavardage.
& Mille Bravos pour ce site.
 

Hervé

XLDnaute Barbatruc
Bonsoir

une proposition, parmi d'autres possibles, en pièce jointe.

tiens moi au courant.

[file name=Classeur1_20050228232233.zip size=12241]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20050228232233.zip[/file]
 

Pièces jointes

  • Classeur1_20050228232233.zip
    12 KB · Affichages: 29

Hervé

XLDnaute Barbatruc
re

la meme macro, mais mieux, lol, celle-ci te supprimera de la combobox les numéros déjà utilisé.

Par contre réinitialisation de ceux-ci lors d'une nouvelle initialisation de l'userform (suis-je clair ?) :

Code:
Private Sub CommandButton1_Click()
Dim derligne As Integer
Dim c As Range
Dim lindex As Byte

If Me.ComboBox1 = '' Then MsgBox 'Merci de choisir un numéro': Exit Sub
If Me.ComboBox2 = '' Then MsgBox 'Merci de choisir un nom': Exit Sub

With Sheets('feuil2'Â'Â')
derligne = .Range('c65536'Â'Â').End(xlUp).Row + 1

For Each c In .Range('c1:c' & derligne - 1)
If ComboBox1 = c Then MsgBox 'Numéro déjà utilisé.', vbOKOnly + vbCritical, 'Attention...': Exit Sub
Next c


.Range('c' & derligne) = ComboBox1
.Range('d' & derligne) = ComboBox2
End With
lindex = ComboBox1.ListIndex
ComboBox1.RemoveItem (ComboBox1.ListIndex)
ComboBox1.ListIndex = lindex


End Sub

voilà

Message édité par: Hervé, à: 01/03/2005 00:25
 
J

Jean-Pierre

Guest
Hervé

1 Gd merci d'avoir répondu aussi rapidemment ! Mais désolé de répondre si tardivement , car je suis parti en voyage et viens de rentrer ce soir de Lille.

Je n'ai pas encore inséré/essayé les 2 macros dans mon travail, mais
utilisé ton zip et... bravo! car c'est exactement ce que je voulais réaliser cela m'aide énormément dans mon projet.
Je m'attellerai demain soir aux exercices...
Je te tiens au courant si j'avais qq problèmes de mise en oeuvre
des macros, ou simplement pour te dire que c'est génial.

Encore merci et bonne journée.
@+

Jean-Pierre
 

Discussions similaires

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22