Bouton Modification

jassim

XLDnaute Junior
Bonjour le forum

J' ai essayé de construire cet userform avec une programmation assez hasardeuse et je l' avoue, étant un petit débutant
j' ai deux soucis pour cette programmation je ne sais pas modifier les données et si je fais une recherche sa ne m' affiche pas les totaux.

Pourriez svp me venir en aide

Merci
 

Pièces jointes

  • Test.xlsm
    216.6 KB · Affichages: 42
  • Test.xlsm
    216.6 KB · Affichages: 49
  • Test.xlsm
    216.6 KB · Affichages: 46

sousou

XLDnaute Barbatruc
Re : Bouton Modification

Bonsoir
utilise l’événement change plutot que update.
Mais je pense que tu n'est pas sur la meilleure piste.
Tu va très vite être débordé par ton code qui sera difficile à modifier
Dans ton cas il est peut -être interessant de disposer d"un feuille de paramètres qui va définir tes champs les calculs et les calculs qui leur sont associés.
Il faut voir l'ensemble du projet et son objectif final.
 

Papou-net

XLDnaute Barbatruc
Re : Bouton Modification

Bonsoir jassim,

Si je n'ai pas bien compris le premier point, je te propose une solution pour résoudre le problème des totaux.

Sur la copie ci-jointe, tu constateras que j'ai traité les 5 premières lignes de la classe Salon. Je te laisse le soin de compléter pour les autres postes.

Voici comment j'ai procédé:

Dans la propriété Tag de chaque TextBox de rang pair (correspondant au total), j'ai inscrit le volume mentionné dans la désignation correspondante. Le séparateur décimal, s'il y a lieu, doit être un point (voir TextBox10).

Vu la longueur de la tâche, je te laisse vérifier que les zones Quantité sont bien toutes impaires et qu la zone Montant correspondante est bien incrémentée d'une unité.

Bon courage.

A +

Cordialement.

Edit: bonsoir sousou, ce que tu dis n'est pas faux. Un traitement des données par tableaux me semblerait plus "technique" mais comme notre ami débute, je me suis contenté de répondre sur la base de son code initial.
 

Pièces jointes

  • Test jassim.xlsm
    137.6 KB · Affichages: 49
  • Test jassim.xlsm
    137.6 KB · Affichages: 51
  • Test jassim.xlsm
    137.6 KB · Affichages: 43
Dernière édition:

sousou

XLDnaute Barbatruc
Re : Bouton Modification

Bonjour
J'ai essayé dans le fichier joint de te montrer une piste pour continuer dans ton projet.

Une feuille para à été crée et elle comporte le descriptif de tes champs
C'est à partir de ces données qu'ils sont rensignés
Je n'ai pas repris toutes les valeurs de calcul de ton projet, il suffit de les positionner dans la feuille para.

Ce n'est ici qu'un début......
 

Pièces jointes

  • déménage.xlsm
    112.5 KB · Affichages: 36
  • déménage.xlsm
    112.5 KB · Affichages: 37
  • déménage.xlsm
    112.5 KB · Affichages: 34

jassim

XLDnaute Junior
Re : Bouton Modification

Bonjour Papou-net, sousou, le forum

Je vous remercie à vous deux pour votre aide, je n' aurai jamais trouvé seul, comme quoi j' ai encore beaucoup à apprendre
je renvoie le fichier complété par rapport à la demande de Papou-net qui fonctionne bien

Par contre le fichier de sousou a permis de réduire le code pour un même résultat, il faut que je travaille sur ce code !.
Mais comme l' explique si bien Papou-net je débute vraiment au plus bas donc j' essaye d' aller doucement.

Pour ma première question j' aurai aimé une fois validé les données et qu' on rappelle le client qu' on puisse modifier les quantités et revalider pour avoir les dernières informations, donc par la même occasion éviter les doublons.

Merci
 

Pièces jointes

  • Test jassim.xlsm
    156.8 KB · Affichages: 36
  • Test jassim.xlsm
    156.8 KB · Affichages: 38
  • Test jassim.xlsm
    156.8 KB · Affichages: 34

sousou

XLDnaute Barbatruc
Re : Bouton Modification

Pas sur d'avoir tout compris,
Mais dans ma version si tu appels un devis, que tu modifies les quantités et que tu utilises le bouton recalculer. ca modifie tes valeurs par contre tu n'as pas un transferet de ton userform, vars les lignes de ta base et cela me semble obligatoire
 

Papou-net

XLDnaute Barbatruc
Re : Bouton Modification

Bonjour jassim, sousou, le Forum,

Voici une version avec utilisation des modules de classe.

Je sais bien que tu débutes en VBA,mais je tenais tout de même à te laisser entrevoir comment on peut optimiser et simplifier un code. Pour parvenir à ce résultat, j'ai dû renommer l'ensemble de tes TextBox dans les Frames (à part le N°152-Total) en respectant la logique suivante:

Sur la première ligne, le Label est renommé "L1", le TextBox Quantité s'intitule "Q1" et le TextBox Total devient "T1". Cette organisation permet de faire correspondre les contrôles appartenant à la même ligne.

J'ai également créé une variable tableau nommée "Vol" et une boucle extrait le volume dans le label correspondant:
Code:
'Création de la table de volumes des différents éléments
With Me
  For i = 1 To 70
    Vol(i) = CDbl(Replace(Trim(Replace(Mid(.Controls("L" & i).Caption, InStr(.Controls("L" & i).Caption, ":") + 1), "m³", "")), ".", ","))
    .Controls("Q" & i) = ""
    .Controls("T" & i) = ""
  Next
End With
Ainsi, si tu modifies un Label, sa mise-à-jour sera assurée automatiquement dans le formulaire. La seule contrainte est que le Label.Caption contienne bien des ":" et que "m" et "³" soient bien attachés (j'ai trouvé ce genre de défaut dans quelques contrôles et je les ai corrigés).

Concernant les modules de classe, c'est un peu complexe à t'expliquer, du moins pour le moment. Saches simplement que tu peux ajouter ou supprimer des lignes dans tes Frames, le code s'adaptera automatiquement. En plus, j'ai pu programmer facilement un contrôle des touches frappées avec message d'erreur si saisie non numérique.

Enfin, j'ai mis la propriété Locked des TextBox de totaux à True afin de ne pas fausser les calculs par un effacement accidentel.

Je te souhaite bon courage.

J'allais oublier: du fait du renommage des contrôles, la procédure b_validation est à revoir mais je te laisse le soin de le faire si ce fichier te convient.

Cordialement.
 

Pièces jointes

  • Test jassim 01.xlsm
    104.7 KB · Affichages: 43
Dernière édition:

jassim

XLDnaute Junior
Re : Bouton Modification

Bonjour

Papou-net, sousou, le forum

Papou-net c' est fou ce qu' on peut faire pour minimiser le code mais c' est bien compliqué moi mais je ne désespère pas je vais regarder çà de plus prêt

Sousou, en effet il faut que le transfert se fasse pour pouvoir actualiser les donnees dans le tableau.
Peux tu me donner une voie à suivre ?

Merci à vous deux
 

sousou

XLDnaute Barbatruc
Re : Bouton Modification

Bonjour à tous

Je continu avec ma solution, même si la Class c'est plus classe et c'est sans doute la meilleur solution, mais je te montre comment moi je gère souvant mes bases de données avec une ou ou plusieurs bases dans le même classeur
J'ai essayé de faire au plus simple en ajoutant une feuille fonctions
 

Pièces jointes

  • déménage.xlsm
    147.6 KB · Affichages: 28
  • déménage.xlsm
    147.6 KB · Affichages: 31
  • déménage.xlsm
    147.6 KB · Affichages: 30

jassim

XLDnaute Junior
Re : Bouton Modification

Bonjour sousou, laetitia90, Papou-net, Le forum

En effet je vois bien qu' avec le module de classe sa diminue grandement le script, je pense que je vais travailler dans ce sens car il fait économiser beaucoup de temps et d' erreurs.

Merci à vous tous
 

Si...

XLDnaute Barbatruc
Re : Bouton Modification

salut

Je suppose que la liste des éléments va continuer de s’enrichir. Donc une autre idée de présentation sans chambouler* le formulaire à chaque ajout. Ici - premier jet- on ne fait apparaître que les cas qui nous intéressent.

Je n’ai pas fait intervenir d’autres fonctions que la saisie ni les contrôles de format. Cela peut se faire assez facilement.


*sans la Classe laetitia ;)
 

Pièces jointes

  • Usf Devis.xlsm
    89.5 KB · Affichages: 39

jassim

XLDnaute Junior
Re : Bouton Modification

Bonsoir à tous, le forum

Si... ton script n' est pas mal du tout ainsi que la présentation du fait des rajouts qui peuvent avoir lieu (moins de galères avec les textboxs).
l' idée est très bonne. A cela il faudra rajouter les totaux et les modifications ainsi que l' impression de la feuille et sa c' est quelque chose que je ne pourrais pas faire car mes connaissances sont limités.

Bonne soirée à vous tous
 

jassim

XLDnaute Junior
Re : Bouton Modification

Bonjour à tous

Je vaudrais revenir sur le fichier de laetitia90. Le total général s' actualise seulement si on rentre un "0" dans la quantité et si on laisse vide le total général textbox147 ne s' actualise pas. Comment faire ?

Merci
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : Bouton Modification

re tous:)
dans la classe tu ecris comme cela

Code:
Private Sub txt_Change()
 On Error Resume Next
 With UserForm3
.Controls("T" & Right(txt.Name, Len(txt.Name) - 1) + 70).Value = ""
.Controls("T" & Right(txt.Name, Len(txt.Name) - 1) + 70).Value = CDbl(txt.Value) * CDbl(txt.Tag)
  x = 0
 For i = 77 To 146
If .Controls("T" & i) <> "" Then x = x + CDbl(.Controls("T" & i))
 Next i
 .T147 = x
End With
End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux