Bonjour à tous,
j'ai un petit soucis (surement du au fait que je débute un peu en vba). J'essaie de remplir un tableau en faisant le produit des valeurs d'une feuille excel, le tout avec une petite boucle for. Et lorsque j'exécute, je récolte une erruer d'écuéction 13 : Incompatibilité de type.
Voici le code:
Pour info, lors du debogage, la ligne est la suivante : lg390(i) = Range("A" & j) * Range("F" & k)
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 Sub Programme() 'Définit une variable qui va représenter une cellule Dim Cell1 As Range Dim Cell2 As Range Dim L_tot As Double 'Définit les tableaux Dim pte As ListObject Dim stk As ListObject Dim lg As ListObject Set pte = ActiveSheet.ListObjects("Tableau1") Set stk = ActiveSheet.ListObjects("Tableau2") 'Définit les longueurs des curves (murs) Set lgcurves = ActiveSheet.ListObjects("Tableau3") 'Dernière lignes des pte Dim dlpte390 As Integer, dlpte240 As Integer, dlpte170 As Integer dlpte390 = ActiveSheet.Range("A1").End(xlDown).Row - 1 dlpte240 = ActiveSheet.Range("B1").End(xlDown).Row - 1 dlpte170 = ActiveSheet.Range("C1").End(xlDown).Row - 1 ' LastRow = ActiveSheet.ListObjects("Tableau1").Range.Rows.Count 'Dernière lignes des stock Dim dlstk390 As Integer, dlstk240 As Integer, dlstk170 As Integer dlstk390 = ActiveSheet.Range("F1").End(xlDown).Row - 1 dlstk240 = ActiveSheet.Range("G1").End(xlDown).Row - 1 dlstk170 = ActiveSheet.Range("H1").End(xlDown).Row - 1 Dim lg390(), lg240(), lg170() 'Boucle pour les produit des 390 For i = 0 To dlstk390 * dlpte390 For j = 1 To dlpte390 For k = 1 To dlstk390 lg390(i) = Range("A" & j) * Range("F" & k) Next k Next j Next MsgBox Range("A10") ' 'Boucle sur chaque cellule des tableaux ' For Each Cell1 In pte ' For Each Cell2 In stk ' ' L_tot = Cell1 * Cell2 ' ' 'Produit stock x longueur des 390 ' Next Cell End Sub
j'espère que je n'ai pas été trop confus.
Merci pour votre aide![]()
Partager