Problème de macro

SPARKLETOF

XLDnaute Junior
Bonjour à tous,

j'ai un problème avec une macro, j'ai récupéré cette formule sur un autre site :

sub EssaiComboFillUniq()
RempliComboUnik Sheets("Feuil1").Range("A1:A" & _
Sheets("Feuil1").Range("A65536").End(xlUp).Row), _
Worksheets("BD").ComboBox1
end sub

le soucis c'est que je ne veux pas que la liste soit issue du worksheets mais d'un userform et donc je ne sais pas comment ecrire le code !!!!
J'ai essayé : "nom du userform.nom de ma combo" mais ca ne marche pas :mad:
Quelqu'un pourrait m'aider ?
Merci par avance
SKF
 

JNP

XLDnaute Barbatruc
Re : Problème de macro

Salut SPARKLETOF :),
Tu laisses tomber le ruban :p?
Pas sûr d'avoir bien compris ton problème :eek:...
Tu veux que ton USF remplisse un ComboBox sur une feuille ?
Si c'est ça, utilises la propriété AddItem du ComboBox depuis l'USF. Mais ton ComboBox se videras à chaque fois que tu quiteras le fichier...
Un petit bout de ton fichier avec son USF et sa ComboBox nous permettrait certainement de mieux comprendre...
Bonne soirée :cool:
 

SPARKLETOF

XLDnaute Junior
Re : Problème de macro

Hey JNP,

comment va ? T'inquiètes j'ai pas laissé tombé les rubans, seulement j'ai une autre priorité sur le feu :D
Concernant mon problème :
avec un pote on essaie de faire un doc pour gerer les stocks. On a un userform multipage.
En fait lorsqu'on déstocke on veut que dans la combobox du userform n'apparaisse la liste des n° de lot des produits. Seulement il arrive que des produits disposent du même n° de lot, donc nous voulons éviter les doublons ! Mais là ,problème, on arrive pas à marquer la ligne de commande. Avec le code qu'on a trouvé, cela marche mais seulement quand la combobox est dans la feuille.... Nous on veut que ca marche dans le userform mais on ne sait pas comment écrire le code correspondant !
SKF
 

SPARKLETOF

XLDnaute Junior
Re : Problème de macro

Salut,
bon je suis à mon taf et j'ai donc des visuels pour m'expliquer....
Donc mon userform ressemble à çà :

ce que je voudrais, c'est qu'une liste de n° de lot apparaisse en évitant les doublons (dans la combobox entourée en rouge). Ma liste originale se trouve sur ma feuille et est comme ceci :

J'espère que cela peut plus t'éclairer ??? :D
@+
SKF
 

JNP

XLDnaute Barbatruc
Re : Problème de macro

Re :),
Lumineux :p...
Avec ce petit code de JB
Code:
Private Sub UserForm_Initialize()
Dim MonDico As Object, c As Range
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In Range([F3], [F65000].End(xlUp))
    If c.Value <> "" Then MonDico.Item(c.Value) = c.Value
  Next c
  Me.boxlot.List = MonDico.items
End Sub
ça devrait le faire (j'ai considéré tes valeurs à partir de F3).
Bon courage :cool:
 

SPARKLETOF

XLDnaute Junior
Re : Problème de macro

Salut à toi,
désolé pour le retard.... je te remercie donc pour ta précieuse aide car comme d'habitude quand tu conseilles un truc.....CA MARCHE :D
Nous avançons donc pas mal avec mon pote ! On coince juste sur un truc : quand on rentre en stock un produit ( par ex 6 exemplaire) on voudrait que cela nous copie 6 fois la ligne entourée en rouge.....

Merci d'avance et bon WE
SKF
 

JNP

XLDnaute Barbatruc
Re : Problème de macro

Re :),
On avance, mais pas dans la luminosité :p...
Je te dégotte un petit code qui élimine les doublons, classe par ordre alphanumérique, et maintenant, tu veux que je multiplie par la quantité :confused:... Quand tu vas en avoir 100 en stock pour une dizaine de produits, je te cause pas de la hauteur du ComboBox :D...
Tu crois pas qu'il serait plus simple d'appeler dans un Label la quantité quand tu choisis un produit :rolleyes:?
A te lire :cool:
 

SPARKLETOF

XLDnaute Junior
Re : Problème de macro

Salut JNP,
tu me fais une remarque judicieuse mais j'y avais déjà pensé....:cool:
Le truc en fait c'est qu'en stock cela ne dépasse que très rarement 50... et qu'on s'arrange pour avoir au maximum 6 ou 7 lots différents par an et vu qu'on réagit pas quantité mais en n° de lot mon combo ne sera pas si grand que ca au final :D
Merci à toi
SKF
 

JNP

XLDnaute Barbatruc
Re : Problème de macro

Re :),
A ce moment là
Code:
Private Sub UserForm_Initialize()
Dim I As Integer, c As Range
For Each c In Range([F3], [F65000].End(xlUp))
For I = 1 To c.Offset(0, -1)
Me.boxlot.AddItem c.Value
Next I
Next c
End Sub
devrait faire l'affaire, mais si tu veux du "trié", il va falloir passer par un tableau. Tu devrais trouver ça sur le forum ou sur le site de JB précité.
Bon courage :cool:
 

Discussions similaires

Réponses
3
Affichages
210
Réponses
6
Affichages
144

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi