Bonjour,

Je fais un traitement de datas via xls pour ensuite mettre cela dans une table dans access.

Voici le code en question, cela permet pour plusieurs meme enregistrement de prendre que ceux qui contiennent un 0 pour le champ 12 et si ce n'est pas le cas de prendre ceux qui ont la valeur 0.5 et le copier dans une autre feuille.

L'idée pour commencer serait de parcourir la table des enregistrements et de sélectionner à chaque fois l'enregistrement qui contient champ12 =0.

voici un apercu de la table:

Code Site CR Dates Champ12 Dates2
213232S0 0 815 0 826
213232S0 0 815 0 827
632887S0 0 818 0 826
751309S0 0 817 0 826
871210S0 0 818 0 826

Dans ce cas ci pb c'est qu'il va prendre ces 2 enregistrements

213232S0 0 815 0 826
213232S0 0 815 0 827

alors que moi je voudrais juste celui ou la date est la plus élevée 827 donc une simple requête me parait juste d'ou la nécessité du code je pense.

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
47
48
 
Public Sub Status()
 
'Definition des variables
Dim CS As String
Dim i As Integer
Dim j As Integer
Dim nb_lignes As Integer
 
Set Cel = Range("A2")
 
CS = ""
j = 1
z = 1
 
'Récupération de la dernière ligne
nb_lignes = Cel.End(xlDown).Row
 
Set Code_Site = Range("A1:A" & nb_lignes)
Set Champ12 = Range("D1:D" & nb_lignes)
 
'on parcours le tableau
For i = 1 To nb_lignes
    If (Code_Site(i).Value <> CS) Then
    CS = Code_Site(i).Value
 
        If (Champ12(i).Value = 0) Then
        Worksheets("GCF").Select
        Rows(i).Copy
        Feuil3.Rows(z).PasteSpecial
        z = z + 1
        End If
 
        If (Champ12(i).Value = 1) Then
        Worksheets("GCF").Select
        Rows(i).Copy
        Feuil2.Rows(j).PasteSpecial
        j = j + 1
        End If
 
        If (Champ12(i).Value = "0,5") Then
        Worksheets("GCF").Select
        Rows(i).Copy
        Feuil2.Rows(j).PasteSpecial
        j = j + 1
        End If
    End If
Next i
Merci de vos pistes