pb avec source d'une combobox

A

Audrey

Guest
bonjour le forum,

J'utilise le code suivant pour incrémenter la liste source de ma combobox1, seulement voilà, que le valeur de la combobox soit déjà dans la liste ou non, elle va quand même se recopier dans la liste ce qui fait que j'ai des doublons.

Comment dois-je modifier mon code pour que ce ne soit que les nouvelles valeurs qui soient rajouter dans la liste??

sheets('Fournisseur').range('B' & sheets('Fournisseur').range('B65536').end(xlup).row +1) =combobox1


Si je n'est pas été clair n'hésitez pas à le dire parce-que je ne sais pas trop...
 
A

Audrey

Guest
bonjour JC,

Je te remercie de ta réponse mais malheureusement elle ne résoud pas mon problème.

Je te pense que ce qu'il faudrait, c'est rajouter une condition mais j'ai essayé et ce que j'ai fais n'a pas fonctionné...
 
A

Audrey

Guest
bonjour JC,

Je te remercie de ta réponse mais malheureusement elle ne résoud pas mon problème.

Je te pense que ce qu'il faudrait, c'est rajouter une condition mais j'ai essayé et ce que j'ai fais n'a pas fonctionné...
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Audrey, JC, le Forum

Sans fichier, une démo basique :

Matériel :

1 UserForm avec :
1 ComboBox nommée 'ComboBox1'
1 CommandButton nommé 'CommandButton1'


Code à mettre dans le Private Module de ce UserForm :

Option Explicit
Option Compare Text

Private Sub UserForm_Initialize()
Dim i As Integer

   
For i = 1 To 50
        Me.ComboBox1.AddItem 'Founisseur N° ' & Format(i, '000')
   
Next

End Sub


Private Sub CommandButton1_Click()
Dim Plage As Range, Cell As Range
Dim L As Integer
Dim NewSupplier As String
Dim Duplicate As Boolean

NewSupplier = Me.ComboBox1.Value
   
   
With Sheets('Fournisseur')
        L = .Range('B65536').End(xlUp).Row + 1
       
Set Plage = .Range(Range('B2'), .Range('B65536').End(xlUp))
   
End With

   
For Each Cell In Plage
       
If CStr(NewSupplier) = CStr(Cell.Text) Then
            Duplicate =
True
           
Exit For
       
End If
   
Next

   
If Duplicate Then
        MsgBox 'Duplication Fournisseur : ' & NewSupplier, vbCritical
   
Else
        Sheets('Fournisseur').Range('B' & L) = NewSupplier
   
End If
End Sub

Voilà à peu près la logique de base pour boucler sur la plage et vérifier si il a y Doublon ou pas dans la Base de données avant d'importer le contenu de la ComboBox.

Bon Appétit
[ol]@+Thierry[/ol]

EDITION !!!

Petit 'Exit For' optimisateur oublié ;)

Message édité par: _Thierry, à: 30/01/2006 12:40
 
A

Audrey

Guest
bonjour Thierry, Re JC,

Thierry, ton code fonctionne mais les fournisseurs sont des noms qui se trouvent dans une liste qui change, elle n'est pas prédéfinie à l'avance. donc ça ne va pas.

Mais je mets un exemple en fichier joint ou je vous explique peut-être plus clairement ce que je veux obtenir.
En plus il y a le code que j'utilise actuellement comme ça vous verrez...

Merci à vous. [file name=Classeur1_20060130140000.zip size=13606]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20060130140000.zip[/file]
 

Pièces jointes

  • Classeur1_20060130140000.zip
    13.3 KB · Affichages: 23

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour Audrey

J'ai supprimé le Mode RowSource en Fenêtre Propriété pour rentre l'incrémentation des donnée fournisseurs dynamique dans ta ComboBox en Initailization Run Time du UserForm.

Le reste du code reste inchangé à ma proposition.

J'ai un peu optimisé également ton code.

Bon Aprèm
[ol]@+Thierry[/ol] [file name=Audrey_Check_Duplicate.zip size=14523]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Audrey_Check_Duplicate.zip[/file]
 

Pièces jointes

  • Audrey_Check_Duplicate.zip
    14.2 KB · Affichages: 30
A

Audrey

Guest
re Thierry,

Ayé ça fonctionne!!
Merci beaucoup à toi ainsi qu'à JC qui aura essayé quand même.

En tout cas à bientôt parce-que je n'ai pas encore terminer mon appli et j'aurais certainement encore besoin du forum...


:silly:
 

Discussions similaires

Statistiques des forums

Discussions
312 318
Messages
2 087 208
Membres
103 493
dernier inscrit
Vidal Salvador