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

GCFRG

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

Bonsoir le forum,
Salut bebere, hasco, Voici la dernière mouture de cet USF, j'y ai rajouté une feuille pour les fenêtres PVC, et modifier le code en ce sens, je voudrais savoir comment conservé les entêtes de colonne dans la listbox, en effet on la vide par un "listbox.clear", il doit être possible je suppose de ne supprimé que les lignes en dessous de la 1ère?
d'autre part, il faut valider TBpiece par "entrée", pour activer CBtype, ce qui peut être problématique pour un utilisateur lamda:).

Alors une fois de plus je vous appelles à mon secours.

gilbert "qui galère encore un peu"
 

Pièces jointes

  • menuiserie extérieure 18-06-2008.zip
    47.8 KB · Affichages: 32
G

Guest

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

Bonjour le forum,
Bonjour GC:)


d'autre part, il faut valider TBpiece par "entrée", pour activer CBtype, ce qui peut être problématique pour un utilisateur lamda

Je pense qu'il vaut mieux laisser cela en l'état. Ce qui oblige l'utilisateur à faire les chose consciement et non mécaniquement(ce qui toujours source d'erreur). Mais pour améliorer la chose j'ai rajouté une étiquette qui lui demande de valider la saisie par Entrer et qui disparait lorsque il quitte le controle.

L'activation des combobox se fait maintenant sur l'évènement AfterUpDate de tbPiece.

Pour la listeBox, c'est fait, regarde la petite modification apportée à la boucle qui enregistre les données dans la feuille.

Le bouton Enregitrer quant à lui est désactivé à l'initialisation du userform et réactiver sur changement de la listbox si celle-ci contient plus d'un ligne( Ligne d'entête plus une commande).

Essai d'imaginer une chose identique pour le bouton Validation qui ne pourrait-être activer que si la quantité et les trois zones de texte de prix sont renseigné.

A bientôt
 
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 le forum, salut Hasco, journée très chargée aujourd'hui,
pas eu beaucoup de temps à consacré à mon projet, merci HASCO encore une fois tu as trouvé la solution à mon problème, j'ai modifier le code comme tu me le suggérais ce matin, ma solution va sans doute te paraitre fastudieuse mais bon, elle fonctionne aussi je reposte le fichier pour avoir ton avis.
je travaille actuellement sur un autre USF, concernant le choix d'une maison en fontion d'un certain nombre de critère, quand il seras suffisament "étoffé" je le mettrais en ligne, j'aimerais avoir ton avis, et celui de toute autre personne qui voudra bien y jeté un oeil,
ton expérience en le domaine m'est d'un grand secours.
Merci encore et à bientôt j'espère.

Gilbert
 

Pièces jointes

  • menuiserie extérieure 19-06-2008.zip
    47.6 KB · Affichages: 33

GCFRG

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

Bonjour le forum, salut hasco, bebere,
une question en suspend, comment peut on suprimer une ligne dans ma lisbox avant de l'enregister dans le classeur, si par exemple, on se rend compte qu'on c'est trompé dans une dimention ou dans l'attribution d'une fenêtre ou d'un volet à une pièce, sans être obligée de fermer le USF et de tous reprendre depuis le début.
si quelqu'un à une solution?

merci d'avance.
"le fichier est dans mon message précédent, menuiserie extérieure 19-06-2008.zip "
gilbert
 
G

Guest

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

Re bonjour,

voici le fichier modifié pour suppression de ligne dans la listbox1 avec demande de confirmation.

A bientôt
 

GCFRG

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

Bonjour Hasco, décidément tout semble simple pour toi, j'aurais mis une semaine avant de trouver!!!!!
merci beaucoup, as tu vérifié la modif que j'ai fait concernant l'activation ou la désactivation du bouton "validation".
sans vouloir abusé de ton temps, peux tu m'expliquer le code suivant, dont
j'avoue ne pas bien comprendre le fonctionnement.

For Each ctl In Frame1.Controls
If InStr("TBpieceF,CHKALU,CHKPVC,bnEnvoi", ctl.Name) = 0 Then
ctl.Enabled = TBpieceF.Text <> ""

Gilbert
 
G

Guest

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

Re bonjour GC,

Hélas non je suis passé à côté de ta modification pour le bouton validation. Je vais regarder ça.

InStr("TBpieceF,CHKALU,CHKPVC,bnEnvoi", ctl.Name)

La fonction InStr donne la position du premier caractère d'une chaine dans une autre.

donc l'idée est de créer une chaine qui contient le nom des controles qui devront échaper au traitement dans la boucle For .... Next

La boucle renvoi un à un les controles du Frame1
Si le nom du controle en cours d'examen n'est pas dans la chaine des noms de controles à ne pas traiter (if Instr(....,ctlName)=0)
Alors on désactive le control.(ctl.enabled=False)
Fin de si

On aurait pu faire le contraire: Si un controle est dans la chaine, on traite, s'il n'y est pas on passe au suivant. Le choix dépend du nombre de controles à échappés.

A bientôt
 
G

Guest

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

re

J'ai regardé pour le bouton validation.

Ce qu'il est possible de faire c'est que dans les évènements change des textbox TBQuantiF,TBprixunitF et TBprixtotalF:

mettre: BnAfficher.enabled=TBQuantiF<>"" and TBprixunitF<>"" and TBprixtotalF<>"".

Ce qui n'activera le bouton que si les 3 textbox sont différents de "", parce que j'ai remarqué qu'en l'état on pouvait ne pas les remplir et valider quand même.

A+
 

GCFRG

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

Merci HASCO
super, c'est exactement ce que je voulais, je vais laisser dans l'état ça marche tres bien comme celà.
je vais continnuer à bosser sur l'autre USF plus coton celui là 9 comboB 4 frame 9 checkB
49 TextB, du pain sur la planche, la nuit va être longue!! Mais avec ce que tu m'as appris, ça devrait m'être plus "facile".
Mille fois merci:), je suis "XLD Supporter" depuis cet après midi, je pourrais joindre des fichier plus important en taille.
un grand merci à BEBERE également
@ + Gilbert
 
Dernière édition:

Bebere

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

salut Cgfrg,Hasco,le Forum
pour ta documentation,j'ai refait(simplifier) le code en partie
ajoute une feuille avant d'essayer
à bientôt
 

Pièces jointes

  • MenuiserieGilbert.zip
    48.8 KB · Affichages: 39

GCFRG

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

Salut bébère, désolé, je n'avais pas vu ta réponse, merci vraiment quel alégement du code, je suis épaté, et là je vois l'étendue de mes lacunes
mais bon c'est en forgeant que l'on devient forgeron!!
je vais y ajouter les modifs que nous avions réaliser avec hasco, et la ce seras excelent
du grand art
merci à tous les deux pour la patience que vous avez
si ce forum est vraiment si super c'est grace à des gens comme vous
Gilbert:)
 

GCFRG

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

Salut le forum, Bebere Hasco.
j'ai encore besoin d'un p'tit coup de pouce, voilà, je m'explique, j'ai rajouté une combox pour l'étage, ce qui me pose quelques problèmes, je souhaiterais que les valeurs de lacombobox CBétage et la textbox TBpieceF reste figées jusqu'à l'enregistrement, en effet, comme on peut avoir plusieurs fenêtre par pièce et plusieurs pièces par étage, il est fastudieux de resélectionner l'étage et de resaisir la pièce.
le code écrit par Bebere (que je salue au passage:) ) à ce niveau, réinitialise tous les controles du USF, c'est super éfficace, mais peut être est il possible "d'épargner" ces 2 contôles ?

d'autre part, comment faire pour n'enregister qu'une seule fois, lors de la sélection de l'étage, la valeur de celui-ci dans la listebox, et j'usqu'au changement d'étage ou on remet la nouvelle valeur, peut être serait il judicieux de rajouter un colonne en début de la liste, vu que j'ai réservé la colonne A de ma feuille destination à cet effet.

si quelqu'un à une idée merci d'avance
Gilbert
 
Dernière édition:

GCFRG

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

Salut,le forum
Bebere, j'avais un peu de mal à comprendre, mais c'est bon j'ai adapté pour combobox et ça marche super bien,
par un soucis de présentation dans ma feuille destination, je souhaiterais que les colonnes "Situation" & "piece" ne soient pas répétées dans ma listbox, tant que le choix n'a pas été changé en TBpieceF ou CBétage, je tourne en rond
si tu as une idée

Merci d'avance
Gilbert
 

Pièces jointes

  • menuiserie extérieure Modifié.zip
    48.5 KB · Affichages: 37
  • menuiserie extérieure Modifié.zip
    48.5 KB · Affichages: 35
  • menuiserie extérieure Modifié.zip
    48.5 KB · Affichages: 37

Bebere

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

bonjour Gcfrg,Hasco le forum

le code du bouton valider,supprime cbétage_change
Private Sub BnAfficher_Click()
If Me.CBtype.Value <> "" Then
With Me.ListBox1
.AddItem CBétage 'Me.Label14
.List(.ListCount - 1, 1) = Me.Label22
.List(.ListCount - 1, 2) = Me.TBpieceF.Value
.List(.ListCount - 1, 3) = Me.TBdesingnF.Value
.List(.ListCount - 1, 4) = Me.CBlargF.Value & "X" & Me.CBhautF.Value
.List(.ListCount - 1, 5) = Me.TBquantiF.Value
.List(.ListCount - 1, 6) = Me.TBprixunitF.Value
.List(.ListCount - 1, 7) = Me.TBprixtotalF.Value

If .ListCount > 2 Then
If .List(.ListCount - 1, 0) = CBétage Then .List(.ListCount - 1, 0) = ""
If .List(.ListCount - 1, 2) = TBpieceF Then .List(.ListCount - 1, 2) = ""
End If


End With
Else
MsgBox "pas de données fenêtre"
End If
If Me.CHKV.Value = True Then 'volet
If TBprixensembleFV <> "" Then
With Me.ListBox1
.AddItem CBétage 'Me.Label14
.List(.ListCount - 1, 1) = "Volet Roulant"
.List(.ListCount - 1, 2) = Me.TBpieceV.Value
.List(.ListCount - 1, 3) = Me.Label8
.List(.ListCount - 1, 4) = Me.CBlargV.Value & "X" & Me.CBhautV.Value
.List(.ListCount - 1, 5) = Me.TBquantiV.Value
.List(.ListCount - 1, 6) = Me.TBprixUTTCV.Value
.List(.ListCount - 1, 7) = Me.TBprixtotalTTCV.Value

If .ListCount > 2 Then
If .List(.ListCount - 1, 0) = CBétage Then .List(.ListCount - 1, 0) = ""
If .List(.ListCount - 1, 2) = TBpieceF Then .List(.ListCount - 1, 2) = ""
End If


End With
End If
End If
Me.CHKV.Value = False
Call EffaceTextBox(Me, "TBpieceF", "CBétage") 'module ModPourUsf
BnEnvoi.Enabled = True
BnAfficher.Enabled = TBquantiF <> "" And TBprixunitF <> "" And TBprixtotalF <> ""
End Sub

à bientôt
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 838
dernier inscrit
Christelle.B86