XL 2010 fichiers sans doublons.

MAN

XLDnaute Occasionnel
bonsoir le forum Bonsoir. a tous
je reviens avec mon fichier MANN V7. suite de MANN V3. je voudrai que la colonne de combobox n'admette pas de doublons, que, dans la list box, on ne retrouve pas deux fois un meme intitulé et qu'il en soit de meme pour la combo box. j'espere que j'aurai une solution.
merci d'avance
 

Pièces jointes

  • MANN V7.xlsm
    34 KB · Affichages: 45

job75

XLDnaute Barbatruc
Bonjour MAN, fanch55,

Modifiez ou validez une cellule quelconque ce qui lance la macro :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
ListObjects(1).Range.RemoveDuplicates 1
Application.EnableEvents = True
End Sub
Et si le ménage n'a pas encore été fait :
VB:
Sub Bouton1_Cliquer()
    ActiveCell = ActiveCell.Formula 'lance la Worksheet_Change
    UserForm1.Show
End Sub
A+
 

Pièces jointes

  • MANN V7(1).xlsm
    34.5 KB · Affichages: 6

MAN

XLDnaute Occasionnel
merci. encore
je me retrouve devant un autre problème.
quand un libellé était déjà renseigné, et que l'on décide de modifier sa valeur, la procédure ci dessous Bogue.
'-------procédure pour la saisie semi automatique de la combobox1-------
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
' If ComboBox1.Text <> "" And TextBox1.Text <> "" Then
Me.ListBox1.List(L, 1) = y
Me.TextBox1 = ""
Me.ComboBox1 = ""
Me.ComboBox1.SetFocus
' End If
End Sub
Précisement la ligne de code "" Me.ListBox1.List(L, 1) = y "" que faire.
 

Pièces jointes

  • MANN V7 (A).xlsm
    33.3 KB · Affichages: 8

MAN

XLDnaute Occasionnel
j'ai remplacé tout le code
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
' If ComboBox1.Text <> "" And TextBox1.Text <> "" Then
Me.ListBox1.List(L, 1) = y
Me.TextBox1 = ""
Me.ComboBox1 = ""
Me.ComboBox1.SetFocus
' End If
End Sub
par le tiens

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If L >= ListBox1.ListCount Then Exit Sub
end sub
c'est a ce niveau que je me suis planté.
que dois je vraiment faire. je ne suis qu'un débutant.
 

job75

XLDnaute Barbatruc
C'est pas vrai, même un débutant comprend ça :
VB:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If L >= ListBox1.ListCount Then Exit Sub
    ListBox1.List(L, 1) = y
    TextBox1 = ""
    ComboBox1 = ""
    ComboBox1.SetFocus
End Sub
 

job75

XLDnaute Barbatruc
Dans le fichier joint j'ai supprimé les macros TextBox1_Change et TextBox1_Exit.

Et créé cette macro :
VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ListBox1.List(ListBox1.ListIndex, 1) = TextBox1
    TextBox1.SetFocus
    TextBox1.SelStart = 0
    TextBox1.SelLength = Len(TextBox1)
End Sub
Entrer ou modifier le montant dans la TextBox et faire un double-clic dans la ListBox.
 

Pièces jointes

  • MANN V7 (NEW)(1).xlsm
    34.3 KB · Affichages: 5

MAN

XLDnaute Occasionnel
Encore un soucis. je souhaiterai si possible que les deux méthodes fonctionnent. c'est a dire
1-faire la saisie semi automatique et insérer la valeur
2- taper sur ENTREE pour alimenter la list box. (cette partie a été suprimée par la nouvelle procédure)
3-pouvoir modifier a souhait les valeurs si on se trompe en resaisissant la combobox et en inscrivant le montant.
merci d'avance
 

Pièces jointes

  • MANN V7 (NEW)(1).xlsm
    34 KB · Affichages: 1

Discussions similaires

  • Question
XL pour MAC mise en forme
Réponses
2
Affichages
92
Réponses
13
Affichages
356

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 871
dernier inscrit
Maïmanko