Userforme a terminer

  • Initiateur de la discussion Initiateur de la discussion cj welch
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cj welch

XLDnaute Occasionnel
bonjour,

j'ai construit un userform qui se lance par un bouton appellé régul.
Seulement, je n'arrive pas à le terminer car mes connaissances en vba sont faible.

les explications sont sur la feuille

j'aurais besions de vos lumières

merci par avance
 

Pièces jointes

Re : Userforme a terminer

Bonsoir

Ci joint le fichier avec des réponses.
J'ai modifié les numéros des TextBox pour pouvoir utiliser des boucles dans le code et de ce fait limiter le nombre de lignes et pour corolaire simplifier la mise au point.

Le code de l'USF est à terminer en rajoutant les appels aux différentes procédures.

A tester

JP
 

Pièces jointes

Re : Userforme a terminer

salut jp14,

merci d'avoir prie le temps.

En revanche, est il possible que les calculs se façe automatiquement des qu'on remplis les textbox, et quand on appuis sur le bouton valider les info se transfert vers la feuille de calcul aux différents emplacement.

A+
 
Re : Userforme a terminer

Bonsoir

salut jp14,

merci d'avoir prie le temps.

En revanche, est il possible que les calculs se façe automatiquement des qu'on remplis les textbox, et quand on appuis sur le bouton valider les info se transfert vers la feuille de calcul aux différents emplacement.

A+
Il suffit de rajouter
Call total(1)
Call total(2)
Call total(3)
Call total(5)

en fin de procédure : Private Sub controlnum(num As Integer)

A tester

JP
 
Re : Userforme a terminer

re,

Pour les additions c'est ok

Par contre, j'aimerais :
- Bloquer la saisie dans les colonnes Total
- Faire le calcul (Colonne réel - colonne déclaré = colonne différence)
- Faire le calcul (colonne différence x % = Colonne Régul)

merci
 
Re : Userforme a terminer

Salut,Cj Weich

pour bloquer la saiser dans les colonne total tu doit juste ajouter dans l'initialize
les codes en gras :

Code:
Private Sub UserForm_Initialize()
[B]Me.TextBox14.Enabled = False
Me.TextBox24.Enabled = False
Me.TextBox34.Enabled = False[/B]

col = "a"
feuille1 = "Commande"
With ComboBox1
    .Clear
    .ColumnCount = 4
    .ColumnWidths = "50;50;0"
    .Style = fmStyleDropDownList '
    .BoundColumn = 1 ' combobox1.text contient le nom
    For Each cellule In Sheets(feuille1).Range(col & "9:" & col & Sheets(feuille1).Range(col & "65536").End(xlUp).Row)
            .AddItem cellule.Value
            .List(.ListCount - 1, 1) = cellule.Offset(0, 1).Value
            .List(.ListCount - 1, 2) = cellule.Row
    Next cellule
End With
End Sub
Cordialement
 
Re : Userforme a terminer

RE,

il y a beaucoup de mieux
il faudrait quand on valide que:
- le total réel dans l'user s'inscrive dans la colonne N de la feuille
- le total déclaré dans l'user s'inscrive dans la colonne M de la feuille
- le total différence dans l'user s'inscrive dans la colonne O de la feuille
- le total régul dans l'user s'inscrive dans la colonne P de la feuille
L'inscription dans les colonnes ci_dessus doit se faire en fonction du nom de la personne

quand on vide l'user est il possible que les 0 n'apparaisse pas ? est il possible d'avoir un alignement des chiffres vers la droite ?

Dans l'attente de te lire

Cordialement

A+
 
Re : Userforme a terminer

Bonjour,Cj Weich

il faut juste changer le code existant par celui ci pour la prise en charge du format du tableau :

Code:
Private Sub Valider_Click()
Dim L As Integer
L = Sheets("Commande").Range("A65536").End(xlUp).Row + 1
With Sheets("Commande")
.Range("A" & L) = Me.ComboBox1.Column(0)
.Range("B" & L) = Me.ComboBox1.Column(1)
.Range("N" & L) = CDbl(Me.TextBox14)
.Range("M" & L) = CDbl(TextBox24)
.Range("O" & L) = CDbl(TextBox34)
.Range("P" & L) = CDbl(TextBox54)
    Rows("09:09").Copy
    Range("A" & L).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("a1").Select
End With
End Sub

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
624
  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
277
Réponses
2
Affichages
210
Réponses
0
Affichages
130
Retour