Recherche pour statistiques

akmer

XLDnaute Junior
Bonjour,j'ai crée un petit programme permettant d'effectuer de la saisie administrative.
Je vous présente rapidement son fonctionnement pour m'aider à resoudre mon problème.
Je peux effectuer de la saisie à partir d'une userform et quand je valide tous s'enregistre dans la feuille saisie (chaque dossier représente une ligne;par exemple A1:agence, B1:groupe, C1:affectataire,D1:date...)
Je souhaite avoir des statistique sur ces dossiers en fonction de 2 critères:l'agence et la date(qui seront bornés :date de début et date de fin)
J'ai donc crée un bouton qui ouvre une userform et qui permet de selectionner l'agence dans une combobox1 et saisir la date de début dans une texboxdate1 et la date de fin dans la texboxdate2.
Je souhaite que en cliquant sur le bouton OK, que le programme recherche dans la feuille "saisie", toutes les lignes qui comportent dans leur colonne A l'agence(choisie dans la combobox1) et dont la date se trouvant dans la colonne D est compri dans l'intervalle saisie (dans les 2 textboxdate).
Quand le programme trouve ces 2 critéres réunies sur la même ligne, il devra copier les colonnes A,I,K,AE et AF dans la feuille "traitement" et ensuite le programme continue la recherche ce juska se qu'il est fini d'analyser la feuille saisie.
Quand tous les dossiers répondant à mes critéres se trouveront dans la feuille "traitement" je pourrais me débrouiller tous seul pour programmer des statistiques.
J'éspére avoir été le plus clair possible.
Je vous remercie d'avance pour votre aide.
PS: je vous joint mon fichier Excel pour une meilleur compréhension,c'est le bouton statistiques par agences que je souhaite programmer.
http://cjoint.com/?ivqzlwYuoh
 

Papaye

XLDnaute Occasionnel
Re : Recherche pour statistiques

Bonjour,

Dans le code de ton module 4 tu écris :

PHP:
Private Sub CommandButton1_Click()
If ComboBox1 = "" Then
MsgBox "Vous n'avez pas saisie d'agence !", vbExclamation
End If
If TextBoxDate1 = "" Or TextBoxDate2 = "" Then
MsgBox "Saisie incomplète !", vbExclamation
Else
If CDate(TextBoxDate1) > CDate(TextBoxDate2) Then
MsgBox "   La date de début est " & vbCr _
& "supérieur à la date de fin !", vbExclamation
Exit Sub
End If
End If
Application.ScreenUpdating = False
 
'à partir de là
Ecrt = 0
For i = 3 To Sheets("Saisie").Range("A65536").End(xlUp).Row
  If Sheets("Saisie").Cells(i, 1) = ComboBox1 And CDate(Sheets("Saisie").Cells(i, 4)) >= CDate(TextBoxDate1) And _
    CDate(Sheets("Saisie").Cells(i, 4)) <= CDate(TextBoxDate2) Then
      Ecrt = Ecrt + 1
      Sheets("Traitement").Cells(Ecrt, 1) = Sheets("Saisie").Cells(i, 1)
      Sheets("Traitement").Cells(Ecrt, 2) = Sheets("Saisie").Cells(i, 9)
      Sheets("Traitement").Cells(Ecrt, 3) = Sheets("Saisie").Cells(i, 11)
      Sheets("Traitement").Cells(Ecrt, 4) = Sheets("Saisie").Cells(i, 31)
      Sheets("Traitement").Cells(Ecrt, 5) = Sheets("Saisie").Cells(i, 32)
  End If
Next i
MsgBox Ecrt & " ligne(s) correspondante(s) trouvée(s) !"
 
Call titre
Application.ScreenUpdating = True
UserForm4.Hide
End Sub
 
Dernière édition:

akmer

XLDnaute Junior
Re : Recherche pour statistiques

Bonjour,
Merci beaucoup pour votre aide.
Je n'est pas compris poruquoi vous vouliez que je le mette dans le module 4 car ce module n'est pas en rapport avec ma userform pour recherche par agence.
J'ai donc mis vos dans le bouton OK de ma userform pour recherche par agence mais il ce passe un débogage et me met ces lignes en jaunes:
If Sheets("Saisie").Cells(i, 1) = ComboBox1 And CDate(Sheets("Saisie").Cells(i, 4)) >= CDate(TextBoxDate1) And _
CDate(Sheets("Saisie").Cells(i, 4)) <= CDate(TextBoxDate2) Then

J'ai l'impression qu'il "beug" au moment de commencer à rechercher un deuxième dossier répondant au critéres car le programme fait le débogage après avoir copier un seul dossier dans la feuille traitement.

Je vous passe le programme tel qu'il "beug" pour que je l'éspére trouvier la solution.
Je tenez encore à vous remercier pour le temps que vosu m'accordez.
Cdt

Piéce jointe: http://cjoint.com/?izkaPMspuV
Pour la recherche prenez l'agence: AE17 79 et comme date 01/01/2008 au 31/12/2008 car 2 dossiers répondent à ces critéres
 

Discussions similaires

Réponses
17
Affichages
788
Réponses
5
Affichages
171
Réponses
93
Affichages
2 K
  • Question
Microsoft 365 Excel365
Réponses
2
Affichages
232

Statistiques des forums

Discussions
312 493
Messages
2 088 955
Membres
103 989
dernier inscrit
jralonso