Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Problemes

GCFRG

XLDnaute Occasionnel
Bonsoir à tous, décidement, je ne peux me passer de vous.
J'ai des problèmes l'ors de la récupération d'une listbox dans mon classeur.

Je donnes toutes les explications "du moins je le penses " dans le USF de mon fichier joint.

Je galère depuis ce matin là dessus et je ne vois pas comment m'en sortir sans votre aide.

Alors un immense merci à celle ou celui qui pourra m'aider, et surtout n'hésiter pas à émettre des critiques sur ma manière de procéder des lors que ces dernières sont constructives c'est tous bénef pour mon apprentissage du VBA

voilà voilà
Gilbert
 

Pièces jointes

  • USF A PROBLEME.zip
    41.8 KB · Affichages: 79
  • USF A PROBLEME.zip
    41.8 KB · Affichages: 78
  • USF A PROBLEME.zip
    41.8 KB · Affichages: 81
G

Guest

Guest
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

Bonsoir GC,

rien de bien grave apparement. Il suffit de remplacer partout les

ComboBoxN.Value="" par des comboboxN.Text="" (Où N est le numéro de la combobox)

En Effet la propriété Value des Combobox est en lecture seule. Dans ce cas là.


A bientôt
 
G

Guest

Guest
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

Re bonsoir,

Dans ces lignes
Code:
Private Sub ComboBox1_Change()
If Me.CheckBox4.Value = False And Me.CheckBox3.Value = False Then
    MsgBox MessageMat
    Me.ComboBox1.Text = ""

Dans l'évènement Change d'un objet si tu donnes une nouvelle valeur à l'objet, l'évènement est rappelé (appel récursif) ici :Me.ComboBox1.Text = "". Il vaut mieux éviter cette façon de procéder.

Par contre si tu ne veux pas que l'utilisateur puisse choisir dans ta combobox tu peux agir sur sa propriété Enabled en fonction de tes cases à cocher ou d'une autre valeur.

Ci joint quelques changements.
Vois si cela convient.

A bientôt

A demain tout le monde.
 
Dernière modification par un modérateur:

GCFRG

XLDnaute Occasionnel
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

Re bonsoir,

Dans ces lignes
Code:
Private Sub ComboBox1_Change()
If Me.CheckBox4.Value = False And Me.CheckBox3.Value = False Then
    MsgBox MessageMat
    Me.ComboBox1.Text = ""

Dans l'évènement Change d'un objet si tu donnes une nouvelle valeur à l'objet, l'évènement est rappelé (appel récursif) ici :Me.ComboBox1.Text = "". Il vaut mieux éviter cette façon de procéder.

Par contre si tu ne veux pas que l'utilisateur puisse choisir dans ta combobox tu peux agir sur sa propriété Enabled en fonction de tes cases à cocher ou d'une autre valeur.

Ci joint quelques changements.
Vois si cela convient.

A bientôt

A demain tout le monde.
bonsoir HASCO, merci pour ton aide, cepandant, lors de l'initialisation du USF, cette partie du code génère le message avant même d'avoir sélectionné quoi que se soit.

Private Sub ComboBox1_Enter()
If Me.TextBox7.Value = "" Then
MsgBox "Veuillez inscrire le nom de la pièce"
TextBox7.SetFocus
End If
End Sub

normal car textbox7 est vide au démarage du USF
et si je déplace dans combobox1 cette partie du code le message d'erreur est le même que j'avais initialement
d'autre part, quelque soit le choix effectué, "alu ou pvc" le reste du code doit s'exécuter , ma combobox largeur n'est plus alimenté et ma listbox ne s'alimente plus non plus

je vais voir si je peux arranger celà
ou si quelq'un a 1 idée

merci
Gilbert

Ps je remet le fichier avec une petite correction dans l'explication située dans le USF
 

Pièces jointes

  • USF A PROBLEME.zip
    36.9 KB · Affichages: 57
  • USF A PROBLEME.zip
    36.9 KB · Affichages: 57
  • USF A PROBLEME.zip
    36.9 KB · Affichages: 57
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

bonsoir Cgfrg,Hasco
regarde dans les combobox ,mettre value="" dans évènement change ???
initialise et calcul(changer en partie)
à bientôt
 

Pièces jointes

  • USF A PROBLEME.zip
    39.2 KB · Affichages: 59
  • USF A PROBLEME.zip
    39.2 KB · Affichages: 60
  • USF A PROBLEME.zip
    39.2 KB · Affichages: 60

GCFRG

XLDnaute Occasionnel
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

salut bebere, en fait, ça ne change pas grand chose, apres le message "veuillez sélectionné le matériau" quand la checkbox alu ou pvc est coché et que le textbox "piece"est été renseigné il faudrais que ma combobox1 se vide pour que la textbox1 prenne sa valeur lors de la nouvelle sélection, d'autre part, j'ai toujours le message "valeur de propriété non valide" qui apparais après avoir cliquer sur "enregistrer" si je clic sur la combobox1.
j'en perd mon latin.
merci quand même d'avoir passez du temps à essayé de comprendre ce que je veux
mais peut-être ne suis-je pas assez clair dans mes explications.
merci encore
à bientôt j'espère.

Gilbert "la galère":confused:
 

Bebere

XLDnaute Barbatruc
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

bonjour Cgfrg
essaye cette version
à bientôt
 

Pièces jointes

  • USF A PROBLEME.zip
    37.4 KB · Affichages: 61
  • USF A PROBLEME.zip
    37.4 KB · Affichages: 61
  • USF A PROBLEME.zip
    37.4 KB · Affichages: 62

GCFRG

XLDnaute Occasionnel
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

Salut bebere, merci pour ton aide précieuse, super boulot, ça marche bien, j’ai fait quelques modif, notatemment pour remettre le combobox 1 à vide après un oubli sur le checkbox4 ou sur le textbox7.
Serait il possible de n’avoir que 2 chiffres après la virgule dans les textbox des volets roulants ?
Et de quelle manière je pourrais afficher les données de ces textbox dans la listbox1 si par exemple on décide pour 1 pièce d’ajouter 1 volet roulant.

Type piece désignation dimension Quantité Pu TTC Pt TTC
Fenetre cuisine fixe 600X850 1 276,50€ 276,50€
Volet roulant cuisine 700X850 1 000,00€ 000,00€

Et ansi de suite.
Puis vider la listbox1 après enregistrement dans la feuille 3

Sans vouloir abusé de ta patience, pourrais tu documenter un peu les modifs que tu as fais, pour que je puissent comprendre tous l’intérêt de ses dernières

Je sais, pour toi ça coule de source, mais je suis novice et j’aime bien comprendre comment ça fonctionne.
Encore 1 grand merci pour ta patience et l’intérêt que tu portes à mon travail

Bien cordialement
gilbert
 

Pièces jointes

  • USF A moins de PROBLEME.zip
    38.8 KB · Affichages: 64
  • USF A moins de PROBLEME.zip
    38.8 KB · Affichages: 63
  • USF A moins de PROBLEME.zip
    38.8 KB · Affichages: 63
G

Guest

Guest
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

Bonjour GC, (Tiens! on a les même initiales)
bonjour Le Forum,

Voici une nouvelle mouture qui fonctionne avec plusieurs changement.

Les cases à cocher Alu et Pvc ont été changées en bouton d'option
La fenêtre s'ouvre avec l'option Alu par défaut.
Les controles ont été renommés(pas tous, je te laisse le soin de le faire)
pour plus de lisibilités dans le programme.



Personnellement j'applique la règle de nommage suivante:
Les noms de textBox commencent par tb (tbPiece)​
Les noms de Combobox commencent par cb (cbType, cbLargeur)​
Les boutons d'options par opt (optAlu, optPVC)​
Etc...​
Ce qui qui permet un codage beaucoup plus clair pour le débogage, car on sait immédiatement de quoi l'on parle.

De plus il y a un outil util, 'L'ordre de tabulation' (Menu affichage)
Sélectionner un des frames, afficher l'ordre de tabulation. Qui permet de contrôler dans quel ordre les objets vont recevoir le focus (s'activer).

Ainsi, le userform s'ouvre sur les bouton d'option, puis le tbPiece, cbType, cbLargeur, cbHauteur.

Ce qui a permis de faire un contrôle dans l'évènement Enter de cbType. Si tbPiece est vide on retourne à tbPiece.

Et encore une fois: attention aux appels récursifs évènementiels, dès qu'on change les propriété value ou text d'un contrôle, l'évènement correspondant est appelé.

Bon voici le résultat de ce travail qui n'est pas fini.

A bientôt

EDITION: j'ai enlevé le fichier qui n'était plus valable. Pour alleger le serveur.
 
Dernière modification par un modérateur:

GCFRG

XLDnaute Occasionnel
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

Bonsoir, bebere, hasco, j'ai modifier mon code et j'y ai apporter les modifs sugéré par HASCO, concernant les controles. mais j'ai conserver les checkbox.
concernant les volets roulants, j'avais initialement arrondi les chiffres, je peux savoir pourquoi bebere à choisi de calculé les prix d'une nouvelle manière?
je vous remercie tous les deux pour l'aide que vous m'apportez.
j'ai joint mon nouveau fichier avec les quelques problème qui subsiste.
notament quand je clic sur enregitrer, si je reviens sur la combo type, j'ai le message suivant "valeur de propriété non valide"
je nai toujours pas trouvé de quelle manière pouvoir supprimer une ligne dans ma listbox
comme je l'indique dans le USF
au plaisir de vous lire

A bientôt gilbert "qui galère un peu moins":)
 

Pièces jointes

  • USF A moins de PROBLEME.zip
    41 KB · Affichages: 54
  • USF A moins de PROBLEME.zip
    41 KB · Affichages: 57
  • USF A moins de PROBLEME.zip
    41 KB · Affichages: 54
G

Guest

Guest
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

Re bonjour GC,

Allons doucement:
A l'affichage du userform, le message "Veuillez inscrire le nom de la pièce s'affiche" avant même que le userform soit visible.

Pour corriger cela, sélectionne la Frame1 et affiche l'ordre de tabulation comme dit précédement pour avoir un ordre de saisie des contrôles:CHKALU, CHKPVC, TbPiece etc...etc...

De plus les lignes dans cbType_Change() :

'ElseIf Me.TBpiece = "" Then
' MsgBox "Veuillez inscrire le nom de la pièce"
' ' Me.CBtype.Value = ""
' Me.TBpiece.SetFocus
' Exit Sub

Sont devenues inutiles puisque c'est lévènement cbType_Enter qui gère la validité de TBpiece.

Dans TBpiece_Change()

tu peux rajouter des lignes du genre:
cbType.enabled=tbPiece<>""
cbLargF.enabled=cbType.enabled
cbHautF.enabled=cbType.enabled

ce qui interdira toute saisie dans les combobox nsi tbpiece="" ou l' autorisera dans le cas contraire
tu peux mettre leur propriété enabled à false à l'initialisation du userform
et le l'autoriser que si tbPiece est <>"".

voili

Pour le reste on verra après.

A bientôt
 
G

Guest

Guest
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

Re bonsoir,

Voici ton fichier quelque peu modifié.

Ce qui a changé:

Dans l'évènement initialize du Userform: on empêche de commencer la saisie dans les combo et tbPiece du Frame1 seules les case à cocher sont atteignables.

Quand l'une ou l'autre change d'état on autorise la saisie de tbPiece.

Pour autoriser la selection d'un choix, il faut valider la saisie dans tbPiece pas Enter ou touche Tabulation.

Attention: dans l'évènement change des case à cocher tu fais des appels récursifs aux évènements change de ces même cases. C'est pour cela que j'avais proposé les boutons d'option qui sont exclusifs et plus facile à gérer dans ton cas.

Les combobox ont leur propriété .RowSource renseignée, c'est pour cela que les autres propriétés sont plus délicates à manier( propiétés Value et Text). J'ai remplacés tous (enfin je crois) les CBXXXX.text = "" par des CBXXXX.ListIndex=-1 ce qui revient au même et est préférable dans le contexte.

Voir également ce qui à changer dans l'évènement Click du bouton 'Enregistrer'.

Pour le calcul du prix, je ne me suis pas penché sur le problème.

En espérant t'avoir aidé, je te souhaite de passer une bonne soirée.

A bientôt

[EDITION] Lien supprimé
 
Dernière modification par un modérateur:

GCFRG

XLDnaute Occasionnel
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

houps!!! désolé hasco, trop pressé de quitter le taf, j'ai pas pris le temps de contrôler si çà fonctionnait je me suis contenté de faire les modifs:confused:

décidément, tu as un coup d'oeil d'enfer pour avoir repérer si rapidement toutes ces anomalies, j'ai suivit ton conseil concernant les tabulations, j'ai également rajouté les lignes de code que tu préconisaisdans TBpiece, j'en ai profité pour faire la même chose pour les volets roulants.
jusqu'à là ça semble fonctionner

je joins à nouveau le fichier avec les modifs

a bientôt j'espère :)
voili voilà quoi
au fait YE HE MAD c'est breton non? a ta santé je crois ?


Gilbert "qui galère de moins en moins"
 

Pièces jointes

  • USF A moins de PROBLEME.zip
    42.7 KB · Affichages: 71
  • USF A moins de PROBLEME.zip
    42.7 KB · Affichages: 74
  • USF A moins de PROBLEME.zip
    42.7 KB · Affichages: 74

GCFRG

XLDnaute Occasionnel
Re : Probleme Pour Copier Une Listebox Dans Une Feuille De Mon Classeur + Autres Prob

salut hasco, on c'est croisé je crois, je suis désolé, mais je vais étudié les modif que tu as apporté, je ne doute pas 1 instant que je vais encore en apprendre.

Vraiment merci infiniment, grace à toi et à bébère j'ai vraiment avancé, et cet USF n'est qu'une partie emrergée de l'iceberg , il s'agit d'une application de chiffrage rapide pour contructions de maisons individuelles donc du pain sur la planche.
@ bientôt j'espère.
Gilbert
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon