Bonjour, je suis un jeune ingénieur n'ayant jamais travaillé en VBA. Alors pour faciliter mon travail au quotidien, j'aimerai créer un programme qui traite rapidement mes données et m'aide à faire mes analyses rapidement.

Problème:
J'aimerai faire une macro qui dans une période de temps données, ira dans une feuille que j'ai nommé base compter dans une colonne nommée "appréciation" le nombre fois qu'il y a une des appréciations suivante:
- OK
- DUR MAIS NON CASSANT
- OK QUEUE ET FLANC
- MATIERE CASSANTE
- MATIERE MOLE
et viendra dans une autre feuille nommée "essai_VBA" renseigner sur chaque ligne ayant respectivement chacune des appréciation ci-dessus les valeurs trouvées.

En Algo c'est un truc comme ca (j'ai jamais fait)

==> Appuis sur un bouton actualiser
==> Récupère date début
==> Récupère date de fin
==> Va sur la feuille nommée "base" sélectionne la colonne nommée "appréciation"
==> Compte les valeurs de chacune des appréciations
==> Met dans la colonne "occurrence" d'une autre feuille nommée "essai_VBA" sur chaque ligne contenant un des critères d'appréciations ci-dessus les valeurs obtenues.
==> Calcul le pourcentage de chacun des critères

Voici le code que j'ai commencé

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Sub MAJ_Graph()
 
Dim date_debut As Date
Dim date_fin As Date
Dim date_debut1
Dim date_fin1
Dim i As Integer
Dim cpt_OK As Integer
Dim cpt_filet_mous As Integer
Dim cpt_matière_cassante As Integer
Dim cpt_ok_queue_flanc_milieu_cassant As Integer
Dim cpt_filet_bcp_trop_mou As Integer
Dim cpt_dur_mais_non_cassant As Integer
 
cpt_OK = 0
cpt_filet_mous = 0
cpt_matière_cassante = 0
cpt_ok_queue_flanc_milieu_cassant = 0
cpt_filet_bcp_trop_mou = 0
cpt_dur_mais_non_cassant = 0
 
'Demande de la date de début
date_debut = Application.InputBox(prompt, "Entrer une date de début", "jj/mm/aaaa")
 
'Vérification que la date de début est supérieure à la date de début de l'étude
Do While date_debut < 41635
    date_debut = Application.InputBox(prompt, "Choisir une date supérieure au 27/12/2013 (début d'historique)?", "jj/mm/aaaa")
Loop
 
'Demande de la date de fin
date_fin = Application.InputBox(prompt, "Entrer une date de fin", "jj/mm/aaaa")
 
'Vérification que la date fin est supérieure à la date de début
Do While date_fin < date_debut
    date_fin = Application.InputBox(prompt, "Choisir une date de fin supérieure à la date début", "jj/mm/aaaa")
Loop
 
'Choix de la feuille nommée "base"
Sheets("Base").Select
 
'selectionne toute les lignes et colones de la feuille "Ligne_Prod"
Cells.Select
 
'effectue un tri de date par ordre croissant
Selection.Sort Key1:=Range("E2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase
    ':=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal 'Selection et tri par ordre decroissant des dates de la colone E
je sais que je dois faire une boucle do while date_debut <> date_fin mais je ne sais comment mettre la séquence décrite ci-dessus à l'intérieur de la boucle.

Je vous prie de bien vouloir me guider

Merci d'avance pour votre aide