Comment limiter la Saisie dans un ComBox ?

WDAndCo

XLDnaute Impliqué
Bonjour le Forum

Comment éviter le plantage lors de la saisie d'un Combox soit la suite de REF qui suit :

00302446
00303310
00307476
00459201
00741006
00741904
01022156
01334530
01335430
01335435
01335720
01503235
01513045
01513050
01513095
01601115
01601628
01601637
01601642
Etc . . . .

Si lors de la saisie du ComBox «REF» on commence par un "1" sa plante (pour info nombre sur forme de texte, presque 27000 Ref), idem si la saisie est "01601638" par exemple, alors que le fond bleu du ComBox est "01601637"
La Source de ce ComBox est du genre =DECALER(Base!$A$2;;;NBVAL(Base!$A:$A)-1)

Comment eviter cela, d’avance merci

Dominique
 

WDAndCo

XLDnaute Impliqué
Re : Comment limiter la Saisie dans un ComBox ?

Bonsoir le Forum

Pardon pour ce retard, mais du boulot je ne peux pas envoyer de fichier.
Donc voici un court extrait. Cliquer sur le bouton "Saisie" et modifier un chiffre par rapport aux nombre proposé !
Voila mon souci.

D'avance merci
Dominique
 

Pièces jointes

  • Matos V621.xls
    463.5 KB · Affichages: 83

Si...

XLDnaute Barbatruc
Re : Comment limiter la Saisie dans un ComBox ?

salut

à première vue, c'est l'utilisation de la propriété "RowSource" qui est à l'origine des erreurs. Si...tu veux, comme il me semble avoir compris (lecture rapide) des listes dépendantes, il faudra t'y prendre autrement et les exemples ne manquent pas ici.
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Comment limiter la Saisie dans un ComBox ?

Bonjour,

Utiliser Click au lieu de Change

Code:
Private Sub ComboBox1_Click()
Cells(1, 11).Value = ComboBox1
ComboBox2.Value = Cells(1, 14).Value
If Cells(1, 15).Value > 1 Then Frame1.Visible = True: TextBox1.Value = Cells(Cells(1, 15).Value, 1).Value: TextBox2.Value = Cells(Cells(1, 15).Value, 2).Value: TextBox3.Value = Cells(Cells(1, 15).Value, 3).Value: TextBox4.Value = Cells(Cells(1, 15).Value, 7).Value: TextBox5.Value = Cells(Cells(1, 15).Value, 4).Value: TextBox6.Value = Cells(1, 15).Value Else Frame1.Visible = False
ComboBox3.Value = ""
End Sub

ou

Supprimer Rowsource et remplacer par

Code:
Private Sub UserForm_Initialize()
  Me.ComboBox1.List = Range("symboles").Value
End Sub

JB
 
Dernière édition:

optimus38

XLDnaute Nouveau
Re : Comment limiter la Saisie dans un ComBox ?

Bonjour,

Deux solutions simples.

1°/ - Comme BOISGONTIER le dit, il suffit de remplacer Change par Click.
2°/ - Ecrire "On Error Resume next" juste en dessous de "Private Sub ComboBox1_Change()"

Problème réglé
 

WDAndCo

XLDnaute Impliqué
Re : Comment limiter la Saisie dans un ComBox ?

Bonjour le Forum

Voici le code que j'utilise

Code:
Private Sub ComboBox1_Change()
On Error Resume Next
Cells(1, 11).Value = ComboBox1
ComboBox2.Value = Cells(1, 14).Value
If Cells(1, 15).Value > 0 Then Frame1.Visible = True: CommandButton1.Visible = False: TextBox1.Value = Cells(Cells(1, 15).Value, 1).Value: TextBox9.Value = Cells(Cells(1, 15).Value, 4).Value: TextBox2.Value = Cells(Cells(1, 15).Value, 2).Value: TextBox3.Value = Cells(Cells(1, 15).Value, 3).Value: TextBox4.Value = Cells(Cells(1, 15).Value, 7).Value: TextBox5.Value = Cells(Cells(1, 15).Value, 4).Value: TextBox6.Value = Cells(1, 15).Value Else Frame1.Visible = False: CommandButton1.Visible = True
ComboBox3.Value = ""
TextBox10.Value = ""
TextBox11.Value = ""
End Sub
J'aimerais y apporter la modification suivante : lorsque Cells(1, 14) ou N1 est égal à #N/A que ComboBox2.Value soit égal à ""

Comment réaliser cela ?
D'avance merci
 

Discussions similaires

Réponses
3
Affichages
514

Statistiques des forums

Discussions
312 196
Messages
2 086 094
Membres
103 116
dernier inscrit
kutobi87