résolu : Mettre et organiser plusieurs codes

Marti Marti

XLDnaute Occasionnel
Bonsoir forum
Bonsoir a tous et a toutes
svp si vous pouvez m'aider a resoucre ce probleme .. j'ai essayé de regrouper certains codes plusieurs fois peut etre plus de 50 fois .. meme pendant 2 jours mais croyez moi je suis vraiment fatigué et perturbé .. j'ai pas pu completement reussi ..
1 - Dans cet UserForm1 j'ai 2 optionsbuttons ..OptionButton1 pour "celebataire" et OptionButton2 pour "marié"
Si je coche l'OptionButton1 "celebataire" alors dans ce cas si je veux cliquer dans ComboBox3 s'affichera l'UserForm2 "vous n'etes pas marié" ..car la ComboBox3 s'est faite pour afficher le nombre d'enfants ..ici ça se passe tres tres bien..c'est bien reglé.
Mon probleme c'est dans la ComboBox4 ..si je suis celebataire et je coche l'OptionButton1 normalement et logiquement je peux pas cliquer dans ComboBox4 qui est faite pour afficher le nombre d'enfants agés plus de 10 ans ..alors dans ce cas je veux dés qu'on clique dans ComboBox4 alors l'userForm3 s'affichera " opération impossible" .
Autrement dans le cas d'optionButton1 "célébataire" rien ne se passe dans touts les TextBoxs.
2 - Dans le deuxieme cas d'OptionButton2 "marié" j'ai plusieurs remarques svp :
* On coche OptionButton2 avec le nombre zéro dans ComboBox3 alors s'affichera le montant (100.85) dans TextBox19
* On coche OptionButton2 avec les nombres de 1 jusqu'à 10 dans ComboBox3 alors s'affichera le montant (225.25) dans TextBox19 ..
Ce cas est aussi tres tres bien reglé ..
Mes problemes svp si vous pouvez m'aider sont :
Si on coche OptionButton2 et on choisit dans ComboBox3 le nombre d'enfats alors s'affichera dans TextBox22 comme ça :
TextBox22=ComboBox3 * TextBox25
C'est a dire le nombre d'enfants choisit multiplié par la valeur du TextBox25
et apres le cinquieme enfant cette valeur du TextBox25 se sera diminue à simplement (300.00)
Meme procedure avec la ComboBox4
Nombre d'enfant agé plus de 10 ans multiplié toujours par la valeur du TextBox26 ..donc
TextBox23=ComboBox4 * TextBox26
Remarque : Combobox4 est remplit simplement par les nombres 1 ..2 .. 3
et aussi comme deuxieme remarque si on choisit dans ComboBox3 le chiffre 2 comme nombre d'enfant et en meme temps on choisit dans ComboBox4 par exemple le numero 3 comme nombre d'enfant plus de 10 ans ..alors l'userForm3 s'affichera "operation impossible"
A l'occasion merci beaucoup a laetitia90 et Lone-wolf qui m'ont vraiment aidé avec toutes ses possibilités mais c'est bien ma faute j'apprends pas beaucoup dans ces codes VBA excel
Merci beaucoup d'avance pour vos aides
Amicalement
MARTI MARTI
 

Pièces jointes

  • complique.xlsm
    24.6 KB · Affichages: 41
  • complique.xlsm
    24.6 KB · Affichages: 46
Dernière édition:

Marti Marti

XLDnaute Occasionnel
Re : Mettre et organiser plusieurs codes

Bonjour tout le monde
J'ai essayé pendant toute la nuit de mettre quelques chose ..alors pour OptionButton1 " celebataire " c'est bien regle ..
Il ne me reste sauf ces problemes :
2 - Dans le second cas OptionButton2 "marié" .. s'il vous plaît si vous pouvez m'aider:
Même procédure avec ComboBox4
Nombre d'enfants âgés plus de 10 ans choisit dans ComboBox4 toujours multiplié par la valeur de TextBox26 ..
TextBox23 = (ComboBox4) * ("70") le nombre "70" est la valeur fixe du TextBox26
Et ensuite :
TextBox24 = TextBox22 + TextBox23
Merci à l'avance pour l'aide
sincèrement
MARTI MARTI
 

Pièces jointes

  • complique.xlsm
    24.9 KB · Affichages: 45
  • complique.xlsm
    24.9 KB · Affichages: 44

laetitia90

XLDnaute Barbatruc
Re : Mettre et organiser plusieurs codes

RE :)

j'ai regarde ton fichier pas bien clear

il faut plus de precision

si celibataire pas enfants???

si marie
si enfant plus de 10 ans on fait quoi ???

je regarderais l'année prochaine plus le temps:):) si pas de reponse d' ici la

te souhaitant une bonne fin d'année:):):)
 

Marti Marti

XLDnaute Occasionnel
Re : Mettre et organiser plusieurs codes

Bonjour Laetitia90
Merci beaucoup pour l'aide
Si celebataire sans enfants rien ne se passe dans toute l'userform .. ce celebataire s' il veut tapper le nombre d'enfant dans ComboBox3 ou il veut tapper le nombre d'enfant plus de 10 ans dans ComboBox4 alors l'userform2 s'affichera " vous n'etes pas marie".
si marie avec nombre d'enfant egal a cinq c'est a dire de 1 à 5 alors :
nombre d'enfanfs choisit dans ComboBox3 multiplier par la valeur du TextBox25 qui est (600) et le resultat s'affiche dans TextBox22
si le nombre de ces enfants depasse cinq ..a compter du sixieme enfants meme procedure sauf la valeur du TextBox25 se sera diminue à (300)......
la question d'enfants plus de 10 ans est simple :
Le nombre d'enfants plus de 10 ans affiché dans ComboBox4 sera multiplié par la valeur du TextBox26 qui est (70)
simplement avec remarque si je suis marie avec 2 enfants par exemple je peux pas tapper dans ComboBox4 le numero3 car en realité j"ai deux enfants que j'ai tappé dans ComboBox3 ..ici dans ce cas l'userForm3 s'affichera "operation impossible"
Merci beaucoup Laetitia90 d'avance pour votre patience
Amicalement
MARTI
 

Lone-wolf

XLDnaute Barbatruc
Re : Mettre et organiser plusieurs codes

Bonjour Marti Mati, laetitia :D

Si marié avec de 1 à 5 enfants il faut mettre la condition comme ceci

If OptionButton.Caption = "Marié" and ComboBox3.Value <= 5 then
TextBox22 = Combobox3.Value * Val(TextBox25.Value)
else
TextBox22 = Combobox3.Value * (Val(TextBox25.Value / 2))
end if

Et entre nous, pourquoi tu veux taper 3 alors que tu n'a que 2 enfants, tu veux fraudé le fisc ou quoi??? ;)
Mais là c'est une autre histoire, Excel n'est pas censé de deviné combien tu as d'enfants, donc difficile d'imposer une condition.

Par contre si le nombre d'enfants est déjà inscrit dans la base, il faut que tu y ajoute Find ou Like qui vont vérifier si le nombre est juste et passé aux lignes inscrites en haut, sinon Msgbox "Vous n'avez pas autant d'enfants saligo!! Corrigez-moi ça!!!" ;)




A+ :cool:
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Mettre et organiser plusieurs codes

Re,


Regarde si ceci te convient


Code:
Private Sub ComboBox4_Change()
TextBox23 = Val(TextBox26.Value) * Val(ComboBox4.Value)

If OptionButton2.Value = True And ComboBox4 <> "" Then
dif = ComboBox3 - ComboBox4
TextBox22 = Val(TextBox25) * dif
TextBox24 = Val(TextBox22) + Val(TextBox23)
End If

If ComboBox4.Value > ComboBox3.Value Then: MsgBox "Erreur", , "": TextBox23 = ""
End Sub


Private Sub ComboBox3_Change()
If OptionButton1.Value = True And ComboBox3.Value <> "" Then UserForm2.Show
If OptionButton2.Value = True Then TextBox22 = Val(ComboBox3.Value) * Val(TextBox25.Value)
End Sub


A+ :cool:
 
Dernière édition:

Marti Marti

XLDnaute Occasionnel
Re : Mettre et organiser plusieurs codes

Bonjour Lone-wolf
Merci beaucoup beaucoup pour votre aide
Merci pour votre gentillesse
Oui ça me vient sauf une remarque tres importante ..le nombre d'enfant tappé dans dans la ComboBox3 s'il dépasse cinq alors la valeur dans TextBox25 se change a 300 ..c'est a dire à partir du sixieme enfant la valeur indiquéé se sera 300 au lieu de 600.
Merci beaucoup d'avance pour l'aide.
Aussi pour votre remarque :si par exemple je choisis que j'ai 2 enfants dans ComboBox3 et en meme temps je choisis 3 dans ComboBox4 .. je dis bien par faute ..
Merci d'avance Lone-wolf
Amicalement
MARTI
 

Pièces jointes

  • 1.jpg
    1.jpg
    25.9 KB · Affichages: 49
  • 1.jpg
    1.jpg
    25.9 KB · Affichages: 56

Lone-wolf

XLDnaute Barbatruc
Re : Mettre et organiser plusieurs codes

Re,

Enlève les nombres 600 et 70 dans les propriétés et met ceci:

Code:
Private Sub ComboBox3_Change()
If ComboBox3.Value <= 5 Then
TextBox25.Value = 600
Else
TextBox25.Value = 300
End If
If OptionButton1.Value = True And ComboBox3.Value <> "" Then UserForm2.Show
If OptionButton2.Value = True Then TextBox22 = Val(ComboBox3.Value) * Val(TextBox25.Value)
End Sub

Private Sub UserForm_Initialize()    'remplir combobox

For x = 0 To 10
ComboBox3.AddItem x
Next x

For y = 0 To 3
ComboBox4.AddItem y
Next y

End Sub

Private Sub ComboBox4_Change()
TextBox26.Value = 70

If OptionButton2.Value = True And ComboBox3 <> "" And ComboBox4 <> "" Then
dif = ComboBox3 - ComboBox4
TextBox22 = Val(TextBox25) * dif
TextBox23 = Val(TextBox26.Value) * Val(ComboBox4.Value)
TextBox24 = Val(TextBox22) + Val(TextBox23)
End If

If ComboBox4.Value > ComboBox3.Value Then: MsgBox "Erreur", , "": TextBox23 = ""
End Sub


A+ :cool:
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : résolu : Mettre et organiser plusieurs codes

Re,

Correction

Code:
Private Sub ComboBox3_Change()
If ComboBox3.Value <= 5 Then
TextBox25.Value = 600
Else
TextBox25.Value = 300
End If

If OptionButton1.Value = True And ComboBox3.Value <> "" Then: TextBox25.Value = "": UserForm2.Show

If OptionButton2.Value = True Then
TextBox22 = Val(ComboBox3.Value) * Val(TextBox25.Value)
Else
ComboBox3.Value = ""
TextBox25.Value = ""
End If
End Sub

Private Sub UserForm_Initialize()    'remplir combobox

For x = 0 To 10
ComboBox3.AddItem x
Next x

For y = 0 To 3
ComboBox4.AddItem y
Next y

End Sub

Private Sub ComboBox4_Change()
TextBox26.Value = 70

If OptionButton2.Value = True And ComboBox3 <> "" And ComboBox4 <> "" Then
dif = ComboBox3 - ComboBox4
TextBox22 = Val(TextBox25) * dif
TextBox23 = Val(TextBox26.Value) * Val(ComboBox4.Value)
TextBox24 = Val(TextBox22) + Val(TextBox23)
End If

If ComboBox4.Value > ComboBox3.Value Then
ComboBox3 = ""
ComboBox4 = ""
dif = ""

UserForm3.Show

If ComboBox4.Value = "" And ComboBox3.Value = "" Then
TextBox19 = ""
TextBox22 = ""
TextBox23 = ""
TextBox24 = ""
TextBox25 = ""
TextBox26 = ""
End If
End If
End Sub


A+ :cool:
 
Dernière édition:

Marti Marti

XLDnaute Occasionnel
Re : résolu : Mettre et organiser plusieurs codes

Bonsoir Lone-wolf
Merci merci merci
J'ai remarqué ces erreurs mais .. mais .. mais ..franchement j'avais honte de vous les dire .. car je vous ai trop fatigué ..
Je ne sais pas quoi dire sauf vous etes un brave homme
Amicalement
Je vais tester cette derniere version
Tres amicalement
MARTI
 

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 537
dernier inscrit
alisafred974