Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

sos code userform

  • Initiateur de la discussion Initiateur de la discussion marti018
  • 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 !

M

marti018

Guest
bonjour le forum, bonjour à tous..
j'ouvre ce fil pour vous demander un peu d'aide:
je suis en train de créer un userform qui distribuerai les données que l'on lui donne vers différentes feuilles..le souci c'est que je suis novice sous vba alors je creuse sur le forum je trouve plein de donnée, certaines applicables d'autres pas...mais avant tout j'aimerai recueillir vos conseils car sans doute que je mis prends mal..je joins un fichier peu élaboré car je suis pas sur pas sur du tout du reste...mon userform est dans le compilateur.."j'y retourne!! "
(comme dirai le mec de la pub ovomaltine dans son champs de céréales)

merci d'avance à tous ...bonne fin d'aprem et bonne soirée

julien.🙂
 
Re : sos code userform

j'ai modifié mon code suivant les conseil de Bebere ,afin de l'adapter aux différentes années, sans trop savoir à quoi correspondait les nombres entre guillemets aprés les textbox... cela donne ça:
PHP:
Private Sub TextBox3_Change()

Dim diff As Variant
If Nom = "" Then Exit Sub
If TextBox2 = "" Then
MsgBox "entrer une année,svp"
TextBox2.SetFocus
Exit Sub
End If
If Len(TextBox3) <> 4 Then Exit Sub
diff = CDbl(TextBox3) - CDbl(TextBox2)
     If diff = 1 Then
        TextBox14 = "50" & "%"
        TextBox15 = "50" & "%"
        With Sheets(Nom)
        If .Range("A7").Value = "" Then
        .Range("A7:A10") = CDbl(TextBox2)
        Else: .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2)
        End If
        .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2) + 1
        End With
     ElseIf diff = 2 Then
        TextBox14 = "20" & "%"
        TextBox15 = "60" & "%"
        TextBox18 = "20" & "%"
        With Sheets(Nom)
        If .Range("A7").Value = "" Then
        .Range("A7:A10") = CDbl(TextBox2)
        Else: .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2)
        End If
        .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2) + 1
        End With
    
    ElseIf diff = 3 Then
        TextBox14 = "20" & "%"
        TextBox15 = "60" & "%"
        TextBox18 = "10" & "%"
        TextBox20 = "10" & "%"
        With Sheets(Nom)
        If .Range("A7").Value = "" Then
        .Range("A7:A10") = CDbl(TextBox2)
        Else: .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2)
        End If
        .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2) + 1
        .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2) + 2
        End With
    
    ElseIf diff = 4 Then
        TextBox14 = "10" & "%"
        TextBox15 = "60" & "%"
        TextBox18 = "10" & "%"
        TextBox20 = "10" & "%"
        TextBox22 = "10" & "%"
        With Sheets(Nom)
        If .Range("A7").Value = "" Then
        .Range("A7:A10") = CDbl(TextBox2)
        Else: .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2)
        End If
        .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2) + 1
        .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2) + 2
        .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2) + 3
        .Range("A" & .Range("a65536").End(xlUp).Row & ":A" & .Range("a65536").End(xlUp).Row + diff) = CDbl(TextBox2) + 4
         End With
   End If
 
Dernière modification par un modérateur:
Re : sos code userform

re bonjour tout le monde, le forum

je sais que j'ai déjà eu pas mal d'aide depuis que j'ai ouvert cette conversation...je suis à nouveau bloqué, je peux reexpliquer mon cas autant de fois que nécessaire, je sais que je ne suis pas toujours trés clair..
voilà en espérant un tout petit coup de pouce pour me sortir de cette impasse..bon aprem!!

a++
 
Re : sos code userform

bonjour le forum, le fil
je suis toujours à la recherche du bout de code qui me permetrai d'incrire sur la feuille les données d'une affaire qui s'étale sur plusieures années en multipliant les valeurs de base (entrées dans les textbox) par le pourcentage de répartition suivant les années(aussi dans les textbox) je repost mon fichier au cas ou ...ci-dessous la déclaration des valeurs en fonction des pourcentage
PHP:
'main d'oeuvre
Int_ann1 = cdbl(textbox7)*cdbl(textbox14)/100
Int_ann2 = cdbl(textbox7)*cdbl(textbox15)/100
Int_ann3 = cdbl(textbox7)*cdbl(textbox18)/100
Int_ann4 = cdbl(textbox7)*cdbl(textbox20)/100
Int_ann5 = cdbl(textbox7)*cdbl(textbox22)/100

mens_ann1 = cdbl(textbox8)*cdbl(textbox14)/100
mens_ann2 = cdbl(textbox8)*cdbl(textbox15)/100
mens_ann3 = cdbl(textbox8)*cdbl(textbox18)/100
mens_ann4 = cdbl(textbox8)*cdbl(textbox20)/100
mens_ann5 = cdbl(textbox8)*cdbl(textbox22)/100

ouvr_ann1 = cdbl(textbox9)*cdbl(textbox14)/100
ouvr_ann2 = cdbl(textbox9)*cdbl(textbox15)/100
ouvr_ann3 = cdbl(textbox9)*cdbl(textbox18)/100
ouvr_ann4 = cdbl(textbox9)*cdbl(textbox20)/100
ouvr_ann5 = cdbl(textbox9)*cdbl(textbox22)/100

'fourniture
cabl_ann1 = cdbl(textbox10)*cdbl(textbox16)/100
cabl_ann2 = cdbl(textbox10)*cdbl(textbox17)/100
cabl_ann3 = cdbl(textbox10)*cdbl(textbox19)/100
cabl_ann4 = cdbl(textbox10)*cdbl(textbox21)/100
cabl_ann5 = cdbl(textbox10)*cdbl(textbox23)/100


appa_ann1 = cdbl(textbox11)*cdbl(textbox16)/100
appa_ann2 = cdbl(textbox11)*cdbl(textbox17)/100
appa_ann3 = cdbl(textbox11)*cdbl(textbox19)/100
appa_ann4 = cdbl(textbox11)*cdbl(textbox21)/100
appa_ann5 = cdbl(textbox11)*cdbl(textbox23)/100

lumi_ann1 = cdbl(textbox12)*cdbl(textbox16)/100
lumi_ann2 = cdbl(textbox12)*cdbl(textbox17)/100
lumi_ann3 = cdbl(textbox12)*cdbl(textbox19)/100
lumi_ann4 = cdbl(textbox12)*cdbl(textbox21)/100
lumi_ann5 = cdbl(textbox12)*cdbl(textbox23)/100

sOus_ann1 = cdbl(textbox12)*cdbl(textbox16)/100
sOus_ann2 = cdbl(textbox12)*cdbl(textbox17)/100
sOus_ann3 = cdbl(textbox12)*cdbl(textbox19)/100
sOus_ann4 = cdbl(textbox12)*cdbl(textbox21)/100
sOus_ann5 = cdbl(textbox12)*cdbl(textbox23)/100
ci quelqun a un conseil, une idée je suis preneur..merci d'avance bonne journée à tous et à toute
 

Pièces jointes

Re : sos code userform

Bonjour Bebere merci pour ta réponse,
je m'excuse pour mon silence mais les cours ont recommencé trés trés forts et cela fait plusieurs jours que je n'ai pas touché au projet ni même à internet..en fait je n'attendais plus de réponse, j'étais un peu désespéré mais apparament je me suis trompé tu avais la solution..je regarde ce que tu as fais tout de suite...

encore merci🙂 😀 🙂
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
39
Affichages
4 K
Réponses
12
Affichages
1 K
  • Question Question
Microsoft 365 Userform
Réponses
8
Affichages
1 K
P
  • Résolu(e)
Microsoft 365 Alleger un code VBA
Réponses
13
Affichages
1 K
Piksaw
P
B
Réponses
4
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…