Formulaire de recherche multi-critères
Bonjour à tous !
Voila mon soucis :
Je souhaite créer un formulaire de recherche sous forme d'un "USERFORM".
Sur mon fichier
je voudrais par exemple :
1er critère: VENTE/PRESTATION : je souhaite faire 2 cases à cocher V et P
Si V est coché je veux que l'ensemble des lignes comportant un V soient collées sur une feuille
ensuite
2ème critères : MONTANT DU CA : Je souhaite faire des cases à cocher <783 000€ et > 783 000€
Si <783 000€ est coché, toutes les lignes correspondantes sont collées sur une autres feuilles.
C'est le même principes que pour les filtres mais je veux pouvoir choisir mes critères grace à un formulaire.
Merci de votre aide !
Personne ?
Le problème est que je n'arrive pas à écrire ou copier mes données
Private Sub CommandButton1_Click()
' déclaration des variables
Dim valeur_recherchee As String, ligne_insertion As Integer, valeur_v_p As String, taille As Integer
' valeur recherchee OUI - NON
If CheckBox1 = True Then
valeur_recherchee = "V"
Else
valeur_recherchee = "P"
End If
'------------------- tableau de réception des données -------------------------
?????????????????????????????????????????
Dim synt()
ReDim synt (taille - 1, 15)
?????????????????????COMMENT IDENTIFIER LA VARIABLE TAILLE ? JE VEUX DIRE QUE TAILLE = FEUILLE "RES"
'----------Intégrer les lignes correspondantes------------------
ligne_insertion = 0
' parcours de la base de données
For ligne = 7 To ligne = 500
'valeur de la colonne D
valeur_v_p = Sheets("RECAP").Range("D" & ligne)
' si la valeur correspond au choix de l'utilisateur; la ligne est enregistrée
If valeur_v_p = valeur_recherchee Then
'enr de la valeur de la colonne A, b, c ....
synt(ligne_insertion, 0) = Sheets("RECAP").Range("A" & ligne)
synt(ligne_insertion, 1) = Sheets("RECAP").Range("B" & ligne)
synt(ligne_insertion, 2) = Sheets("RECAP").Range("C" & ligne)
synt(ligne_insertion, 3) = Sheets("RECAP").Range("D" & ligne)
synt(ligne_insertion, 4) = Sheets("RECAP").Range("E" & ligne)
'la ligne a été insérée, il faut en ajouter une autre
ligne_insertion = ligne_insertion + 1
End If
Next
End Sub