Bonjour,
J'ai un tableau qui contient plusieurs informations. Quatres colonnes m'intéressent particulièrement: Nom, Secteur, Quantité, Trimestre.
Ce tableau est sur une Feuil x, je veux prendre les informations et les mettres sur une feuille y qui n'est pas faites celon le même modèle.
Le petit plus, le Nom est un tableau. Cela me permet d'avoir une liste modifiable a souhait sur une feuille z et mon programme s'adaptera.
Voila la logique que j'ai utilisée pour mon programme:
Je crée mon tableau avec les données de la feuille z (je suis obligé d'avoir cette liste car elle me sert dans un autre programme).
Je vais sur la feuille x et je regarde quelle est la dernière ligne occupée (j'ai utilisé un compteur car il n'y a pas de cases vides entre deux).
Si je suis dans le trimestre1
et Si mon secteur est ....
et Si mon nom est (utilisation de la liste)
alors je copie la quantité dans une variable
Sinon si mon secteur est ....
et Si mon nom est .....
Bref voila un peut la logique(?) lol
Voila le programme incomplet:
Je me suis arrêté la car a mon second next il me dit qu'il manque un tableau.
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 Dim Cel As Range Dim MaListe(100) As String Dim Compteur As Integer Dim i As Integer Dim Counter As Integer Dim Vue_Cel As Range Dim j As Integer Dim k As Integer Dim CdtValeur As Integer Dim EstValeur As Integer Dim Tonnage1 As Range 'Je crée ma liste à partir de la feuille Liste Set Cel = Worksheets("Liste").Range("G1") Compteur = 1 While Cel.Offset(Compteur) <> "" Compteur = Compteur + 1 Wend For i = 1 To Compteur MaListe(i) = Cel.Offset(i - 1) Next i 'Ma liste est créée 'Je vais rechercher les infos dans la feuille Vue_generale Set Vue_Cel = Worksheets("Vue_generale").Range("K1") Counter = 1 While Vue_Cel.Offset(Counter) <> "" Counter = Counter + 1 Wend ' je prends les quantités et je les mets dans des variables For j = 1 To 100 For k = 1 To Counter If Vue_Cel.Offset(k) = "1" Then If Vue_Cel.Offset(k, -8) = "conditionnement" Then If Vue_Cel.Offset(k, -10) = MaListe(j) Then CdtValeur(j) = CdtValeur + Vue_Cel.Offset(k, -2) ElseIf Vue_Cel.Offset(k, -8) = "estérification" Then If Vue_Cel.Offset(k, -10) = MaListe(j) Then EstValeur(j) = EstValeur + Vue_Cel.Offset(k, -8) End If End If End If Next Next
J'imagine que c'est a cause de CdtValeur(j) et EstValeur(j).
Le problème c'est que si ma liste venait à contenir 100 noms, je vais pas m'amuser à écrire 100 variables moi même... CdtValeur1 => CdtValeur100....
Le programme n'est pas complet. ensuite je mets ma liste dans ma feuille y et je place les quantités qui seront dans mes différentes variables (CdtValeur1...) à l'endroit approprié. Mais si écrire CdtValeur(j) (avec j de 1 a 100, ne fonctionne pas, je suis un peu dans la M.... )
Partager