calcul dans userform

lioneldu47

XLDnaute Occasionnel
:D
Bonjour le forum​

Je souhaiterais que dans l'userform1 les chiffres des prix se mettent dans la liste déroulante et que le taux de marge se calcule automatiquement suivant les chiffres entrés.

MERCI POUR VOTRE AIDE
 

Pièces jointes

  • ClasseurONE.xls
    43.5 KB · Affichages: 57
  • ClasseurONE.xls
    43.5 KB · Affichages: 63
  • ClasseurONE.xls
    43.5 KB · Affichages: 65

Caillou

XLDnaute Impliqué
Re : calcul dans userform

Bonjour,

Attention, ton code contient pas mas d'erreurs à ce que j'ai vu rapidement. Déjà, la proc FormInitialize n'est pas reliée au formulaire, il manque un End With, le nom de la feuille est pas bon, les adresses des cellules non plus....

Pour le calcul du taux de marge, on verra lorque tes listes seront définies

A+

Caillou
 

Hulk

XLDnaute Barbatruc
Re : calcul dans userform

Hello,

Les dires de Caillou sont justes.

Juste pour préciser qu'on n'écrit pas
Code:
Private Sub UserForm[COLOR="Red"][B]1[/B][/COLOR]_Initialize()
mais simplement
Code:
Private Sub UserForm_Initialize()
Chaque UserForm à sa propre procédure Initialize ou autre.

Mais même corrigé, ton code ne fonctionnait pas.

Voici une méthode universelle.
Code:
Private Sub UserForm_Initialize()

    With Sheets("Feuil1")
        For i = 7 To .Range("G65000").End(xlUp).Row '7 pour la septième ligne
            If .Cells(i, 7) <> .Cells(i - 1, 7) Then '7 pour la septième colonne (G)
                TxtPriXAchat.AddItem .Cells(i, 7).Value
            End If
        Next
        For i = 7 To .Range("H65000").End(xlUp).Row '7 pour la septième ligne
            If .Cells(i, 8) <> .Cells(i - 1, 8) Then '8 pour la huitième colonne (H)
                TxtPrixVente.AddItem .Cells(i, 8).Value
            End If
        Next
    End With

End Sub
Private Sub TxtPriXAchat_Change()
    
    Dim Ligne As Integer
    
    If TxtPriXAchat <> "" Then
        Ligne = TxtPriXAchat.ListIndex + 7 '7 pour la septième ligne
        TxtPrixVente.Value = Range("H" & Ligne).Value
        TxtMarge.Value = Range("I" & Ligne).Text
    End If

End Sub
Private Sub TxtPrixVente_Change()
    
    Dim Ligne As Integer
    
    If TxtPrixVente <> "" Then
        Ligne = TxtPrixVente.ListIndex + 7 '7 pour la septième ligne
        TxtPriXAchat.Value = Range("G" & Ligne).Value
        TxtMarge.Value = Range("I" & Ligne).Text
    End If

End Sub
Cdt, Hulk.
 

Pièces jointes

  • ClasseurONE.xls
    42.5 KB · Affichages: 58
  • ClasseurONE.xls
    42.5 KB · Affichages: 63
  • ClasseurONE.xls
    42.5 KB · Affichages: 66

lioneldu47

XLDnaute Occasionnel
Re : calcul dans userform

En fait j'ai supprimé quelques trucs. les listes déroulantes ne servent plus à rien.
Je veux seulement une explication sur les calculs pour obtenir le taux de marge automatiquement des que l'on change les prix...
Et j'aimerais que lorsque l'on clique sur valider l'userform2 disparaisse au bout de trois secondes.
Merci beaucoup
 

Hulk

XLDnaute Barbatruc
Re : calcul dans userform

Re,

Voici une solution, voir après ce que tu veux en faire de ces changements.

Cdt, Hulk.
 

Pièces jointes

  • ClasseurONE.zip
    15.8 KB · Affichages: 40
  • ClasseurONE.zip
    15.8 KB · Affichages: 46
  • ClasseurONE.zip
    15.8 KB · Affichages: 45

lioneldu47

XLDnaute Occasionnel
Re : calcul dans userform

Merci beaucoup Jean-Marcel et hulk,

Jean-marcel, votre dernier fichier me convient mais il y a un débogage lorsque je rentre seulement le prix de vente...et je n'arrive pas à déboger!!!!
Il y a des vieux produits où je n'ai pas le prix d'achat et qui sont utilisé dans mon userform donc j'ai vraiment besoin de déboger.

Si vous avez une idée pour m'aider, moi je n'y arrive pas...pourtant j'ai essayé!!!

Merci beaucoup:D
 

Discussions similaires

Réponses
3
Affichages
272

Statistiques des forums

Discussions
312 223
Messages
2 086 407
Membres
103 201
dernier inscrit
centrale vet