calcul dans userform

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 !

lioneldu47

XLDnaute Occasionnel
😀
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

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
 
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

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
 
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😀
 
- 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
1
Affichages
236
Réponses
18
Affichages
729
Réponses
19
Affichages
762
Réponses
18
Affichages
619
Réponses
13
Affichages
358
Retour