Condition multiple
bonjour a tous
je reviens vers vous pour un soucis de condition multiple.(option)
je m'explique:
dans mon userform j'ai un bouton "recherche entre 2 dates",ce bouton m'ouvre un InputBox date de début puis une autre inputbox date de fin puis un petit userform choix machine puis un autre petit userform choix de la personne.
quand tout est bien renseignés cela fonctionne à merveille
-date de début puis date de fin puis choix machine puis pas de choix de personne
ou
-date de début puis date de fin puis pas de choix de machine en particulier puis choix de la personne.
dans tous les cas la date de début et de fin sont renseignés , c'est juste que je veux choisir si oui ou non je veux les option suivantes.
voilà mon problème et j’espère que vous pourrez m'aider
merci
Bonjour regnum,
Première question, pourquoi passer par 2 inputbox et 2 usf ?
Pourquoi ne pas tout mettre dans un USF et selon le remplissage on effectue la recherche...
A+
Bonjour,
Une piste avec quelques modifs dans le code. Personnellement, je verrai plutôt un seul UserForm pour collecter les dates, machine et nom plutôt que ces 4 boites qui viennent successivement !
Private Sub visu_Click()
Dim a As Boolean
Dim b As Boolean
Dim e As Boolean
Dim k As Long
Dim datedeb
Dim datefin
'Selectionne des dates à conserver
datedeb = Application.InputBox("Saisir la date de DEBUT ", "JJ/MM/AAAA")
'comme il est possible que la date soit mal inscrite ou que
'(rien ne soit inscrit, il est nécessaire de tester si la date est valide
If IsDate(datedeb) = False Then
MsgBox "Entrez une date valide !"
Exit Sub
End If
datefin = Application.InputBox("Saisir la date de FIN", "JJ/MM/AAAA")
'idem !
If IsDate(datefin) = False Then
MsgBox "Entrez une date valide !"
Exit Sub
End If
UserForm1.Show
UserForm2.Show
Me.ListBox1.Clear
With Sheets("histo")
For i = 2 To .[A65000].End(xlUp).Row
a = .Cells(i, 2) >= CDate(datedeb) And .Cells(i, 2) <= CDate(datefin)
b = .Cells(i, 3) = .Range("M1").Value 'machine
e = .Cells(i, 7) = .Range("M2").Value 'qui
'si cellules vides car pas de choix, mets les variable à True pour avoir une recherche seulement sur les dates
If .Range("M1").Value = "" Then b = True
If .Range("M2").Value = "" Then e = True
If a And b And e Then
Me.ListBox1.AddItem
Me.ListBox1.List(k, 0) = .Cells(i, 1)
Me.ListBox1.List(k, 1) = .Cells(i, 2)
Me.ListBox1.List(k, 2) = .Cells(i, 3)
Me.ListBox1.List(k, 3) = .Cells(i, 4)
Me.ListBox1.List(k, 4) = .Cells(i, 5)
Me.ListBox1.List(k, 5) = .Cells(i, 6)
Me.ListBox1.List(k, 6) = .Cells(i, 7)
k = k + 1
End If
Next i
If ListBox1.ListCount = 0 Then MsgBox "rien"
.Range("M1").ClearContents
.Range("M2").ClearContents
End With
End SubBonjour Theze
Regnul, voici ton fichier modifé avec 1 seul USF pour faire tes choix (tous optionnel)
A+
Hello Bruno !
Désolé, je n'avais pas rafraîchi mais nos suggestions sont les mêmes
bonjour a tous
tous d'abord, je te remercie BrunoM45 pour le nouveau nom...
donc pour mon problème, j’utilise une succession d' userform car c' étais un ancien code que j'utilisais que je trouvais pas mal
En un seul userform,c'est pas mal...je regarde tous ça et je reviens vers vous ensuite.
merci a vous 2 ,BrunoM45 et Theze de vous être penchez sur mon problème
bonjour à tous
BrunoM45, j'ai essayé ton fichier mais il me donne des erreurs car je n'ai par de calendrier installé dans ma bécane excel et je n'arrive pas à le mettre à jour...lol
Theze, j'ai utilisé ton code en adaptant un peu.
j'ai gardé les 2 inputbox et un seul userform pour les options de recherche avec une demande msgbox yes/no pour l'ouverture de l'userform.
merci encore à vous de vous êtes penchés sur mon problème et je peux dire qu'il est résolu.
je mets le fichier corrigé en pièce jointe pour ceux que ça intéressé.
cordialement à tous le forum