Bonjour à tous,
Je suis nouveau sur le forum et je me demande si une âme charitable peut m'aider à résoudre les message d'erreur à répétition que j'ai, lorsque je lance mon programme VBA. voici le code:
Sachez que je n'est jamais fait de programmation et que j'ai par miracle réussis à construire ce programme grâce à ce site. Donc soyez indulgent
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
49
50
51
52
53
54
55
56
57
58 Private Sub Worksheet_Change(ByVal Target As Range) Dim t1, t2, t3, t4, t5 Dim TBLO(9) As String TBLO(0) = 1 TBLO(1) = 16 TBLO(2) = 31 TBLO(3) = 46 TBLO(4) = 61 TBLO(5) = 69 TBLO(6) = 77 TBLO(7) = 85 TBLO(8) = 95 TBLO(9) = 105 t1 = Array(Worksheets("MATRICE").Range("a2:a14")) t2 = Array(Worksheets("MATRICE").Range("a17:a29")) t3 = Array(Worksheets("MATRICE").Range("a32:a44")) t4 = Array(Worksheets("MATRICE").Range("a47:a59")) t5 = Array(Worksheets("MATRICE").Range("a62:a67")) t6 = Array(Worksheets("MATRICE").Range("a70:a75")) t7 = Array(Worksheets("MATRICE").Range("a78:a83")) t8 = Array(Worksheets("MATRICE").Range("a86:a93")) t9 = Array(Worksheets("MATRICE").Range("a96:a103")) t10 = Array(Worksheets("MATRICE").Range("a106:a155")) For j = 1 To 10 'TABLEAU For k = 1 To 5 'CELLULE With Worksheets("MATRICE").Range("t" & j) 'PLAGE DE RECHERCHE ADAPTATIVE Set a = .Find(Worksheets("F1").Cells(3, k), LookIn:=xlValues, LookAt:=xlWhole) 'CHERCHER LES DIFFERENT CRIT DANS LA FEUIL1 End With With Worksheets("MATRICE").Range("B" & a.Row & ":" & "CB" & a.Row) 'ON CHERCHE SUR LA LIGNE CORESPONDANTE AU CRITERE CHERCHE Set X = .Find(1, LookIn:=xlValues, LookAt:=xlWhole) 'ON CHERCHE LA VALEUR 1 DANS LES MATRICE CORRESPONDANTE E = Left(X.Address(ColumnAbsolute:=False), (X.Column < 27) + 2) 'ON DETERMINE LA LETTRE DE LA COLONNE OU SE TROUVE 1 For l = 0 To 9 t = Worksheets("MATRICE").Range(E & TBLO(l)) ' DETERMINE L'INTITULE DE LA COLONNE If Not X Is Nothing Then firstAddress = X.Address For m = 0 To 4 Worksheets("Liste").Range("A3:A80").Offset(0, m) = t 'ECRIRE L'INTITULE DANS LA FEUIL LISTE Do Set X = .FindNext(X) z = X.Column E = Left(X.Address(ColumnAbsolute:=False), (X.Column < 27) + 2) t = Worksheets("MATRICE").Range(E & TBLO(l)) Loop While Not X Is Nothing And X.Address <> firstAddress Next m End If Next l End With Next k Next j End Sub
En vous souhaitant une agréable journée,
Cyril LLANTIA.
Partager