bonjour,

J'ai créé deux userforms

le premier liste mes opérations,
chaque ligne possède 4 textboxs ce qui correspond à une opération :

ligne 1:
TextBox1 : Nom de l'opération
TextBox2 : date du jour
TextBox3 : Périodicité
TextBox4 : date de fin

ligne 2 :
TextBox6 : Nom de l'opération 2
TextBox7 : date du jour
TextBox8 : Périodicité
TextBox9 : date de fin

ainsi de suite

mon deuxieme userforms permet de rentrer le nom de l'opératino et sa périodicité.
J'ai fait un message d'alerte si la périodicité entrée est inférieur à la précédente mais voici le problème :

si je rentre 15 comme première périodicité et 100 comme deuxième, il me met mon message d'erreur, en revenche si je rentre 16 17.. 200 ... sa marche

Si je rentre 50 en premier, pour le deuxieme 100 200 300 400 1000 sa met mon message d'erreur ..

Il compare le premier chiffre ( et si il est égal compare le deuxième) et non l'ensemble, pour lui 100 est plus petit que 20.

Voici mon code

maintajout est le nom du premier userform ou sont référencées mes données


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Private Sub Ajouter_Click()
'message d'erreur si l'opération est inférieur à la précédente
If TextBox2 < maintajout.TextBox3 Then
        MsgBox "non", vbCritical, "Erreur de saisie !"
        Exit Sub
End If
'compteur égal à 1
If compteura = 1 Then
     maintajout.TextBox1.Visible = True
     maintajout.TextBox2.Visible = True
     maintajout.TextBox3.Visible = True
     maintajout.TextBox4.Visible = True
 
     maintajout.TextBox1 = TextBox1
     maintajout.TextBox2 = Date
     maintajout.TextBox3 = TextBox2
     maintajout.TextBox4 = Date + TextBox2
End If
 
'compteur égal à 2
If compteura = 2 Then
     maintajout.TextBox6.Visible = True
     maintajout.TextBox7.Visible = True
     maintajout.TextBox8.Visible = True
     maintajout.TextBox9.Visible = True
 
     maintajout.TextBox6 = TextBox1
     maintajout.TextBox7 = Date
     maintajout.TextBox8 = TextBox2
     maintajout.TextBox9 = Date + TextBox2
 
End If