Bonjour ,
Encore jeune novice dans la programmation en VBA , ca fait une semaine que je fouille un peu partout ( peu etre pas assez certain diront .. ) .
Dans tout les cas voici mon problème.
J'ai plusieurs fichiers avec dates, horaires, et lieu .
Premièrement je filtre le lieu donc ca ca va c'est pas trop compliqué .
Ensuite je creer à coté de ce tableau les informations que je veux qui sont :
>les horaires ( mais en décimal ( =Cellule*24 ) )
>le jour ( texte ( cellule;"jjjj") )
>Trimestre ( ="trim&ent((mois(cellule)-1)/3+1) )
>Mois ( = mois(cellule) )
Premièrement je dois réaliser cela , ensuite toute ces donnés je les copie et les coller dans un autre fichier, le fichier mère en quelque sorte.
La j'utilise de nouveau des filtres pour garder les jours de la semaine , je filtre le mois et j'envoi ces horaires là dans une feuille spécifique à ce mois
Globalement je veux récuperer les donnés dans plusieurs feuilles
Comme : Janvier en semaine
Fevrier en semaine
....
Puis d'autre feuille sous le meme modèle mais
Janvier le week(end
Fevrier le week-end
....
Puis
Trimestre 1 semaine
Trim 1 week
Trim 2 semaine
...
Et enfin Semestre 1 semaine
Semestre 1 week end
Semestre 2 semaine
Semestre 2 week-end.
Et dans chacune de ces feuilles j'ai des tableau en place et des graph pret à analysé les horaires sur la colonne A.
Et le soucis c'est que je veux qu'à chaque fois que je recupere un nouveau fichier , il fasse le meme boulot de trie et envoie les donnés A la suite dans les feuilles concernés et non par dessus les infos precedentes .
Voici deux fichiers parmis tant d'autres
http://www.cijoint.fr/cjlink.php?fil...cijNSXcqUJ.xls
http://www.cijoint.fr/cjlink.php?fil...cijcJfxlla.xls
Et le fichier mère
http://www.cijoint.fr/cjlink.php?fil...cijwyTbdwg.xls
Pour le moment j'ai ca , mais je trouve que c'est du bricolage ( heureusement que l'enregistreur est là .. )
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 Transposition() ' Range("A6:I600").Select Range("A600").Activate Selection.AutoFilter Selection.AutoFilter Field:=6, Criteria1:="PORTAIL MONTANT DROIT" Range("B8:E600").Select Selection.Copy Windows("Classeur1.xls").Activate Range("E2").Select ActiveSheet.Paste Windows("Ronde1.xls").Activate Range("A8:A600").Select Application.CutCopyMode = False Selection.Copy Windows("Classeur1.xls").Activate Range("I2").Select ActiveSheet.Paste Range("A2").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=RC[4]*24" Range("B2").Select ActiveCell.FormulaR1C1 = "=TEXT(RC[7],""jjjj"")" Range("C2").Select ActiveCell.FormulaR1C1 = "=""trim""&INT((MONTH(RC[6])-1)/3+1)" Range("D2").Select ActiveCell.FormulaR1C1 = "=MONTH(RC[5])" Range("A2:D2").Select Selection.AutoFill Destination:=Range("A2:D46"), Type:=xlFillDefault Range("A2:D46").Select Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Range("E2:I600").Select Application.CutCopyMode = False Selection.ClearContents Range("E2:I600").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNone Selection.Borders(xlEdgeTop).LineStyle = xlNone Selection.Borders(xlEdgeBottom).LineStyle = xlNone Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone Range("E4:I4").Select ActiveWindow.ScrollRow = 80 Range("A2").Select End Sub
Partager