Coupe de pouce pour un formulaire

Le
JMM21
Bonjour,

J'ai commencé la création d'un formulaire et j'ai besoin d'un coup de pouce…
J'ai des données dans une feuille excel (20 000 enregistrements environ) que
je souhaite consulter et éditer via un formulaire.
Le critère de recherche est une donnée numérique (PART), plusieurs
enregistrements possible pour un même PART. Je souhaite afficher dans une
ListBox chaque enregistrement pour un même PART, et faire des sommes dans une
seconde ListBox suivant deux critères.

Comme un exemple vaut mieux qu'un mauvais discours je joints un échantillon.

http://dl.free.fr/f8FcS0XHP


Bien sûr, je ne demande pas de tout me faire mais de me mettre sur les rails
(je travaille par mimétisme…)

Un GRAND MERCI d'avance

--
[Jmm21]
☺♂
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #18457441
Bonjour.
Je me suis occupé de la première listbox. J'ai aussi remplacé le
textbox par un combobox :
http://www.cijoint.fr/cjlink.php?file=cj200901/cij4k7qvnE.xls
Cordialement.
Daniel

Bonjour,

J'ai commencé la création d'un formulaire et j'ai besoin d'un coup de pouce…
J'ai des données dans une feuille excel (20 000 enregistrements environ) que
je souhaite consulter et éditer via un formulaire.
Le critère de recherche est une donnée numérique (PART), plusieurs
enregistrements possible pour un même PART. Je souhaite afficher dans une
ListBox chaque enregistrement pour un même PART, et faire des sommes dans une
seconde ListBox suivant deux critères.

Comme un exemple vaut mieux qu'un mauvais discours je joints un échantillon.

http://dl.free.fr/f8FcS0XHP


Bien sûr, je ne demande pas de tout me faire mais de me mettre sur les rails
(je travaille par mimétisme…)

Un GRAND MERCI d'avance


JMM21
Le #18460341
Bonjour,

Je n'ai pas encore bien regardé.

Merci pour le temps que vus m'avez consacré.

Cordialement

--
[Jmm21]
☺♂


"Daniel.C" a écrit :

Bonjour.
Je me suis occupé de la première listbox. J'ai aussi remplacé le
textbox par un combobox :
http://www.cijoint.fr/cjlink.php?file=cj200901/cij4k7qvnE.xls
Cordialement.
Daniel

> Bonjour,
>
> J'ai commencé la création d'un formulaire et j'ai besoin d'un coup de pouce…
> J'ai des données dans une feuille excel (20 000 enregistrements environ) que
> je souhaite consulter et éditer via un formulaire.
> Le critère de recherche est une donnée numérique (PART), plusieurs
> enregistrements possible pour un même PART. Je souhaite afficher dans une
> ListBox chaque enregistrement pour un même PART, et faire des sommes dans une
> seconde ListBox suivant deux critères.
>
> Comme un exemple vaut mieux qu'un mauvais discours je joints un échantillon.
>
> http://dl.free.fr/f8FcS0XHP
>
>
> Bien sûr, je ne demande pas de tout me faire mais de me mettre sur les rails
> (je travaille par mimétisme…)
>
> Un GRAND MERCI d'avance





JMM21
Le #18461401
Bonjour,

J'ai regardé ce que vous m'avez transmis, c'est super.
J'ai une belle marge de progression...
Un doléance cependant, je ne souhaite pas que les entêtes de colonne
réapparaissent dans la ListBox puisque elles sont déjà dans les Labels de la
UserForm.
Je vois bien que le code affecte la valeur de la colonne dans dans la
ListBox, mais je ne suis pas parvenu à prendre uniquement à partir de la
seconde ligne.
(De plus je ne veux pas que les données se cumulent à chaque intérro, mais
là un Me.ListBox1.Clear en début de code a fait l'affaire.)

Encore merci, je progresse petit à petit gràce à des gens comme vous.

Bien cordialement

--
[Jmm21]
☺♂
Daniel.C
Le #18463021
Bonjour.
Regarde le classeur :
http://www.cijoint.fr/cjlink.php?file=cj200901/cijoZLfMri.xls
N'hésite pas à demander ce qui te semble obscur dans le code.
Cordialement.
Daniel

Bonjour,

J'ai regardé ce que vous m'avez transmis, c'est super.
J'ai une belle marge de progression...
Un doléance cependant, je ne souhaite pas que les entêtes de colonne
réapparaissent dans la ListBox puisque elles sont déjà dans les Labels de la
UserForm.
Je vois bien que le code affecte la valeur de la colonne dans dans la
ListBox, mais je ne suis pas parvenu à prendre uniquement à partir de la
seconde ligne.
(De plus je ne veux pas que les données se cumulent à chaque intérro, mais
là un Me.ListBox1.Clear en début de code a fait l'affaire.)

Encore merci, je progresse petit à petit gràce à des gens comme vous.

Bien cordialement


JMM21
Le #18463551
Re-bonjour,

Je présume que le Me.Combox1.Clear est de trop ? :
Extrait de ton code
Private Sub UserForm_Initialize()
.../...
Me.ComboBox1.Clear ????
Me.ListBox1.Clear
End Sub

Pour les explications, car effectivement il a beaucoup de commandes et et de
variables que je découvre, je me permettrai te solliciter.

Merci encore pour la rapidité
--
[Jmm21]
☺♂
Daniel.C
Le #18467031
Plutôt, mal placé :

Private Sub UserForm_Initialize()
Dim Coll As New Collection, c As Range, Ctr As Long
Me.ComboBox1.Clear
With Sheets("Données")
On Error Resume Next
For Each c In Range(.[D2], .[D65000].End(xlUp))
Coll.Add CStr(c.Value), CStr(c.Value)
Next c
On Error GoTo 0
.Columns(33).ClearContents
For Each Item In Coll
Ctr = Ctr + 1
.Cells(Ctr, 33) = CLng(Item)
Next Item
Range(.[AG1], .[AG65000].End(xlUp)).Sort key1:=Range("AG1"),
order1:=xlAscending, Header:=xlNo
For Each c In Range(.[AG1], .[AG65000].End(xlUp))
Me.ComboBox1.AddItem c.Value
Next c
.Columns(33).ClearContents
End With
Me.ListBox1.Clear
End Sub

Daniel

Re-bonjour,

Je présume que le Me.Combox1.Clear est de trop ? :
Extrait de ton code
Private Sub UserForm_Initialize()
.../...
Me.ComboBox1.Clear ????
Me.ListBox1.Clear
End Sub

Pour les explications, car effectivement il a beaucoup de commandes et et de
variables que je découvre, je me permettrai te solliciter.

Merci encore pour la rapidité


JMM21
Le #18486171
Bonjour Daniel.C

Me revoilà...

J'ai continué le travail après ta mise sur orbite indispensable, en
particulier la seconde ListBox2 que je souhaitais enrichir de totaux.
J'ai donc "commis" un bout de code qui semble fonctionner, il y a sûrement
plus efficace.

http://dl.free.fr/qTCG7OzRq

J'ai trois questions (encore) :

1 : A l'ouverte du formulaire, la ListBox1 est vide. Si on valide, la macro
se plante sur : [ag2] = CLng(Me.ComboBox1.Value)
Je ne suis pas arrivé à gérer cette erreur, soit par un message, soit en
affichant la première valeur
2 : pourrait-on remplacer mon "bout de code" qui fait les totaux par un
autre qui insérerait une formule du type {=somme(si(plage="PBA");plage)} qui
me conviendrait mieux pour la suite.
3 : après reflexion, je souhaiterais pouvoir cumuler plusieurs PART à la
suite, dans la ListBox1 mais aussi à la suite en colonne [AH:BL], necessaire
pour l'édition.

Je suis peut-être gourmand...mais je n'ai pas d'autre ressource que ce forum
mutualiste.

Bien cordialement et bonne journée
--
[Jmm21]
☺♂
Daniel.C
Le #18487091
Bonjour.
1.
Remplacer la ligne :

[ag2] = CLng(Me.ComboBox1.Value)

par :

If Me.ComboBox1.Value = "" Then
MsgBox "Saisie obligatoire"
Exit Sub
End If
[ag2] = CLng(Me.ComboBox1.Value)

2. Ou veux-tu mettre la formule ? Tu ne peux pas la mettre dans la
listbox...

3. J'ai permis le choix de plusieurs PART. J'attends ta réponse pour le
calcul (ppoint 2).

http://www.cijoint.fr/cjlink.php?file=cj200901/cijkfSrrbF.xls

Daniel

Bonjour Daniel.C

Me revoilà...

J'ai continué le travail après ta mise sur orbite indispensable, en
particulier la seconde ListBox2 que je souhaitais enrichir de totaux.
J'ai donc "commis" un bout de code qui semble fonctionner, il y a sûrement
plus efficace.

http://dl.free.fr/qTCG7OzRq

J'ai trois questions (encore) :

1 : A l'ouverte du formulaire, la ListBox1 est vide. Si on valide, la macro
se plante sur : [ag2] = CLng(Me.ComboBox1.Value)
Je ne suis pas arrivé à gérer cette erreur, soit par un message, soit en
affichant la première valeur
2 : pourrait-on remplacer mon "bout de code" qui fait les totaux par un
autre qui insérerait une formule du type {=somme(si(plage="PBA");plage)} qui
me conviendrait mieux pour la suite.
3 : après reflexion, je souhaiterais pouvoir cumuler plusieurs PART à la
suite, dans la ListBox1 mais aussi à la suite en colonne [AH:BL], necessaire
pour l'édition.

Je suis peut-être gourmand...mais je n'ai pas d'autre ressource que ce forum
mutualiste.

Bien cordialement et bonne journée


JMM21
Le #18489521
Re...,

Pour le 1 , j'avais contourné avec
Me.ComboBox1.ListIndex = 0
sauvagement piqué sur un de tes derniers Post...

Effectivement tous les partenaires s'affichent maintenant dans la ListBox1,
par contre les totaux ne s'incrémentent pas, puisque les données sont
supprimées a chaque interro.
Pour plus de clarté, je te retourne le fichier avec ce que j'aimerais :
l'endroit où je souhaite voir la(les) formule(s), dans la perspective
d'utiliser cette partie de la feuille pour l'édition. J'aurais peut-être dû
utiliser une autre feuille ?

http://dl.free.fr/jaTPUQeEP

Merci

--
[Jmm21]
☺♂
Daniel.C
Le #18492581
http://www.cijoint.fr/cjlink.php?file=cj200901/cijXOas476.xls
Daniel

Re...,

Pour le 1 , j'avais contourné avec
Me.ComboBox1.ListIndex = 0
sauvagement piqué sur un de tes derniers Post...

Effectivement tous les partenaires s'affichent maintenant dans la ListBox1,
par contre les totaux ne s'incrémentent pas, puisque les données sont
supprimées a chaque interro.
Pour plus de clarté, je te retourne le fichier avec ce que j'aimerais :
l'endroit où je souhaite voir la(les) formule(s), dans la perspective
d'utiliser cette partie de la feuille pour l'édition. J'aurais peut-être dû
utiliser une autre feuille ?

http://dl.free.fr/jaTPUQeEP

Merci


Publicité
Poster une réponse
Anonyme