Bonjour à tous.
J'ai réalisé une macro qui à partir d'un fichier d'environ 4000 lignes, récupère en colonne A les X ( X = nbtests) plus "grandes" dates (fonction Large), grâce à une boucle for.
Dès lors, je récupère cette date, ainsi que le numéro de la ligne correspondante:
Ceci est stocké dans un tableau à 2 dimensions.
La première contient des dates, dates qui sont récupérées grâce à la fonction Large.
La deuxième contient le numéro de la ligne correspondant à cette date.
La macro tourne bien lorsque toutes les dates récupérées sont différentes, cependant si deux dates récupérées sont égales (ligne 32 et ligne 524 par exemple) et bien le numéro de ligne correspondant sera 2 fois 32.
Alors que je devrais récupérer 32 et 524.
J'exporte ensuite les lignes correspondantes, et ce dans un fichier texte.
Je n'arrive pas à modifier la macro, et je me tourne donc vers vous afin de m'aider.
Voici le code :
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 Sub Ma macro() Dim nbtests As Integer Dim tab_dates_compta_max() Dim I As Integer Dim fichiercible As Variant nbtests = Range("A1").End(xlDown).Row * (0.1 / 100) ReDim tab_dates_compta_max(nbtests, 1 To 2) Set Plage1 = Range([A1], [A65536].End(xlUp)) For I = 1 To nbtests tab_dates_compta_max(I, 1) = CDate(Application.WorksheetFunction.Large(Plage1, I)) tab_dates_compta_max(I, 2) = Plage1.Find(tab_dates_compta_max(I, 1), , xlValues, xlWhole).Row Next i fichiercible = Application.GetSaveAsFilename("Sortie de ma macro", "Fichier texte (*.txt), (*.txt)") If fichiercible = False Then Exit Sub Open fichiercible For Output As #1 If fichiercible <> False Then Print #1, "Contrôle N°1" Print #1, Print #1, "Test sur les dates comptabilité max" For I = 1 To nbtests Print #1, Left(Range("A" & tab_dates_compta_max(I, 2)).Text, 10) & Space(10 - Len(Left(Range("A" & tab_dates_compta_max(I, 2)).Text, 10))) ' je vous épargne les 27 autres lignes =) next i Close #1 End If End Sub
Merci pour votre aide !
Julien
Partager