Bonjour tout le monde,
J'ai ecrit une macro qui fonctionne a cela pres qu'elle s'execute toujours deux fois...
Le but de cette macro est de remplir un tableau identique sur plusieurs feuilles du classeur. Pour naviguer d'une feuille a l'autre, j'ai repertorie les differents noms de feuille dans un tableau dans la feuille "Makros"
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 Sub HauptgewerkErfüllung() Dim C As Range Dim Hauptgewerk As Worksheet, GESAMT As Worksheet, HE As Worksheet Dim Feuille As Worksheet Dim Such As String, Nom As String Set GESAMT = Workbooks("Gesamt-Tabelle.xls").Worksheets("Tabelle") Set HE = Workbooks("Versuch.xls").Worksheets("HE") For k = 6 To Worksheets("Makros").Cells(Rows.Count, 8).End(xlUp).Row Nom = Worksheets("Makros").Cells(k, 8).Value Set Hauptgewerk = Worksheets(Nom) ' # Sucht das Blatt die von dem Hauptgewerk betrifft wird For Each Feuille In Worksheets ' # Sucht die Zeile ins Gesamt Tabelle, wo es die Hauptgewerkergebnisse gibt. For Each C In GESAMT.Range("L8:L" & GESAMT.Cells(Rows.Count, 12).End(xlUp).Row) If C.Value = 2 And Feuille.Name = C.Offset(0, -11).Value Then ' Fügt eine neue Spalte für das Monat ein Hauptgewerk.Range("F1").EntireColumn.Insert Hauptgewerk.Range("D4") = GESAMT.Range("Z6").Value ' # Erfüllt das Blatt Hauptgewerk.Range("B5:B11") = C.Offset(0, -11).Value Hauptgewerk.Cells(6, 6) = C.Offset(0, 8).Value + C.Offset(0, 7).Value End If Next Next End Sub
Mon probleme est que la macro s'effectue a chaque fois sur toute les feuilles (Si j'ai 3 feuilles, chaque feuille sera rempli 3 fois).
J'ai beau chercher, je vois pas ce qu'il faut que je change.
merci d'avance !
Potzo
Partager