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 mais le problème est quand je ne veux pas d'une option par exemple:

-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 car je galère

merci

22gmao1.zip (282.57 Ko)

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 Sub

Bonjour Theze

Regnul, voici ton fichier modifé avec 1 seul USF pour faire tes choix (tous optionnel)

A+

17regnul-gmao1.zip (36.97 Ko)

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... "regnul" ça m'a fait beaucoup rire

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

18gmao1.zip (284.30 Ko)
Rechercher des sujets similaires à "condition multiple"