Utilisation d'une ListBox

T

Toutou

Guest
Bonjour à tous,

Je voudrais mettre en place un système qui permet de gérer des commandes et leur production.

Un UserForm me permet d'entrer les commandes les unes à la suites des autres dans un tableau Excel;

Un autre UserForm me permet de compléter les données: les infos concernant la production doivent s'insèrer automatiquement sur la ligne correspondant à la commande.
Pour cela je voudrais utiliser une ListBox qui me permettrai de renvoyer les infos sur la bonne ligne. Je sélectionnerai le numéro de la commande dans la ListBox (contenant les num de commandes déjà mises dans le tableau excel), puis insèrerai les données au bon endroit en cliquant sur un bouton 'Enregistrer'.

J'ai réussi à programmer l'enregistrement des numéros de commandes de la feuille excel dans la ListBiox, mais je ne sais absolument pas coment mettre en place le reste...

J'espère que mes axplications ne sont pas trop confuses,
Si vous pouviez m'aider, vous m'enlèveriez une grosse épine du pied.

A bientot,
Toutou


:)
 

Toutou

XLDnaute Occasionnel
Désolé, je n'avais pas pensé à joindre un fichier.
Voici ce que tu m'as demandé, ce qui concerne mon pb est le UserForm 'FcheProd'. En haut à droite de ce UF, se trouve la ListBox qui me pose problème. J'ai commencé à la 'programmer' dans le code du bouton 'Enregistrer' du même UF.
Merci,
a+
Toutou
;)
 
T

Toutou

Guest
RE-Bonjour tout le monde,

Désolé, j'ai du mal j'viens de m'apercevoir que mon fichier faisait tjr plus de 50Ko, j'en ai minimisé la taille en supprimant du code.
Comme vous pouvez le constater, j'ai mis un exemple sur les deux premières lignes de mon tableau, mais ces 2 lignes ne devrait en former qu'une seule:

Les informations que je rentre dans les textbox de mon UF 'FcheProd'se mettent dans mon tableau excel , mais je voudrais qu'elles s'insèrent sur la ligne qui correspond à leur numéro de commande.

Les numéro de commandes étant déja dans mon tableau excel grace à mon UF 'NelleCmde'.

a bientot,
Toutou
[file name=gestioncmdes.zip size=41340]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/gestioncmdes.zip[/file]
 

Pièces jointes

  • gestioncmdes.zip
    40.4 KB · Affichages: 39

laurent45

XLDnaute Occasionnel
Bonjour toutou, le Forum,

Je viens de faire un test sur ton fichier, les info de la Nouvelle Commande s'affiche bien sur une ligne. Pour la Fiche de Production, la ComboBox récupère bien les infos de numéros de commande. Quand on sélectionne une Commande, rien ne se passe. Veux faire afficher les infos de la commande dans tres TextBox ?

Peux-tu préciser ta question.

@+
 

Toutou

XLDnaute Occasionnel
Salut tt le monde,
Merci de t'etre penché sur mon pb Laurent45,
Voici 1 exple de ce que je voudrais faire: supposons que j'ai déjà entrer 15 cmde ds mon tableau avec mon UF 'NelleCmde', numérotée de 1 à 15.
Si le commande 12 est produite, je voudrais pouvoir la compléter de la manière suivante: j'affiche mon UF 'FcheProd', je sélectionne le num de cmde dans ma ListBox, je renseigne les textbox, et en appuyant sur enregistrer, mon tableau se complète avec les nelles données; actuellemt les nouvelles données s'insèrent sur une ligne vierge a la suite des autres...
 

Toutou

XLDnaute Occasionnel
Non, mes textBox ne me servent ka entrer des données, en fait il faudrait pouvoir remplir une ligne de mon tableau en 2 fois.

La première avec mon UF 'Nelle Cmde', la 2eme avec le UF 'FcheProd'.

Je voudrais pouvoir choisir la ligne dans laquelle s'insèrent les données des TextBox du UF 'FcheProd' a l'aide de la ListBox.

Si elles sont relatives à la commande 22, jaimerais qu'elles s'insèrent sur la ligne qui comporte deja des données de la commande 22, en sélectionnant 22 dans la ListBox.

Les données que j'ai mises dans le tableau comme exemple devraient etre sur la meme ligne car elles correspondent à la meme commande; or elles s'insèrent sur 2 lignes différentes.

J'espère etre assez clair, j'ai svt du mal a m'expliké, dsl. :p


A la prochaine,
Toutou ;)
 

laurent45

XLDnaute Occasionnel
Re Toutou,

Alors, je commence par où ! :p

Petits conseils de fabrication (qui n'engagent que moi) :
Déjà, quand tu veux mettre des intitulés pour tes TextBox, prends plutôt des Label (je te laisse le faire). Ils sont par défaut 'TabStop=False'. J'ai donc mis toutes tes TexBox 'intitulés en 'TabStop=False'.
Pour une saisie plus simple pour tes utilisateurs (ou même pour toi), j'ai mis dans l'ordre des colonnes tes 'TabIndex' pour toutes les TextBox de saisie.
Petit plus, pour l'USF 'Nelle Cmde' : Lorsque tu l'ouvre, il rempli la TextBox NumCmde avec le numéro qui suit la précedente.

Je pense que pour le reste, ça corresponds à ce que tu voulais.

Bon courage.
@+ [file name=gestioncmdes2.zip size=20538]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/gestioncmdes2.zip[/file]
 

Pièces jointes

  • gestioncmdes2.zip
    20.1 KB · Affichages: 45

Toutou

XLDnaute Occasionnel
Bonjour Laurent45, Bjr la forum, B)

Merci, tu as plus que repondu à mes attentes. :woohoo: Comme tu as pu le constater, je ne suis qu'un débutant en la matière. :unsure:
J'ai d'ailleur une question au sujet du code que tuas réalisé, :eek: cmt fonctionne la boucle With? Et qu'a-t-elle de plus?

Bonne journée et merci encore

Toutou ;)
 
T

Toutou

Guest
Re Laurent45,

J'ai copier-coller ton code dans le mien afin de l'améliorer. (je ne t'ai envoyer qu'une partie de tout ce qu j'avais fait).
Mais Malheureusement, je ne peux plus lancer mon application: Le message d'erreur suivant apparaît:

ERREUR 13:Incompatibilité de type

J'ai essayé tout ce que je suis capable de faire, mais je n'arrive plus à ouvrir le USF NelleCMde.
Cependant, le USF FcheProd, fonctionne sans pb.

Auraistu une solution à m'apporter, STP?
A +Toutou
 

laurent45

XLDnaute Occasionnel
Bonjour Toutou, le Forum,

[ol][li]L'instruction With ... End With, que le Sir _Thierry m'a fait découvrir, permet de supprimer toute les instruction Select qui crée souvent des bogue.
Lorsque tu enregistres une macro, l'enregistreur ne fait que du Select, et tu pourras remarquer que plusieurs fois le même objet Range() est selectionné avant de lui ajouter des attributs ou propriétés. L'instruction With ... End With va supprimer tout ça, en simplifiant le code, et avec un seul appel de l'objet Range().
Cette instruction te permets, en suite, te travailler sur tous les attributs ou propriétés concernant l'objet que tu auras désigné avec With Objet ... End With. Que ce soit Workbooks(), Worksheets(), Range(), Cells(), même des Contrôles d'une feuille ou d'un USF.
Tu as plein de possibilités.[/li]
J'espère ête assez clair dans mon explication

[li]Je viens de retester le fichier, et il s'ouvre sans pb ! :eek:

Pourrais-tu récupérer la ligne sur laquelle le programme bloque ?
Pour ce faire, lorsque tu as ton message d'erreur, tu clique sur 'Déboguer'. Il te dirigeras directement sur la ligne qui bogue.
[/li][/ol]
Bon courage

@+

Message édité par: laurent45, à: 12/10/2005 09:54

Message édité par: laurent45, à: 12/10/2005 09:56
 

Toutou

XLDnaute Occasionnel
Re Laurent 45
Finalement, je viens de réussir (je ne sais cmt) à résoudre le pb;
je n'ai pas compris ou était l'erreur, mais le principal c'est que tout est dans l'ordre mintenant.
Merci pour la boucle with.

Autre Q?:
Voici une partie de mon code:

With Worksheets('Feuil1')
' Détermination de la prochaine ligne
LigneSuivante = .Range('B65536').End(xlUp).Row + 1
' Transfert du nom
If Choixbob = True Then
.Cells(LigneSuivante, 3) = 'Bobinage'
End If
If Choixcpe = True Then
.Cells(LigneSuivante, 3) = 'Coupe'
End If
If Choixwrap = True Then
.Cells(LigneSuivante, 3) = 'Wrap'
End If
If Choixmass = True Then
.Cells(LigneSuivante, 3) = 'Massicot'
End If



Dans mon tableau s'insèrera en fonction de ce que j'ai cliqué, soit 'bobinage' soit 'Coupe', soit 'Wrap', soit 'Massicot'.

Mais si je séléctionne a la fois 'choixbob' et 'choixcpe', est-il possible de trouver dans la meme cellule a la fois ''bobinage' et 'Coupe'?


Si oui, coment programmer cette 'multi sélection'?

@ +
Toutou.
 

Discussions similaires

Réponses
4
Affichages
324

Statistiques des forums

Discussions
312 345
Messages
2 087 455
Membres
103 546
dernier inscrit
mohamed tano