Bonjour à tous,
Je dois créer une macro permettant de créer un tableau, à partir d'un premier tableau.
Je rencontre quelques difficultés et faute de solution (et de personne pour m'aider!), je me tourne vers ce forum. Je remercie d'avance toutes les personnes qui pourront jeter un coup d'oeil à mon problème !
Sur une première feuille excel appelée "Données", j'ai un tableau :
Il y a trois lignes : métier 1, métier 2, métier 3,
J'ai 5 colonnes correspondant à cinq périodes différentes. dans chacune de ces colonnes figures des durées (par exemple, 4 jours, 2 jour, 1 jours).
Sur une ligne juste au dessus figurent les jours cumulés (en reprenant le premier exemple : 4 jours, 6 jours, 7 jours).
Dans les cases figures des montants.
Dans ma deuxième feuille excel nommée "Final", je veux créer un tableau presque pareil que le premier.
Néanmoins, je souhaiterais avoir une colonne par jour et non une colonne par durée comme c'était le cas précédemment.
De plus, j'aurais aimé que les montants qui figurent dans ma première feuille excel soit divisés par le nombre de jours correspondants.
C'est un peu compliqué je vous l'accorde... J'ai créé mon document avec cet exemple, et dans la page final j'ai tapé manuellement le rendu que je souhaite. Je l'ai ajouté en PJ, ce sera sans doute plus simple pour vous ! mais je n'ai pas réussi à joindre le doc XL avec la macro :/ (le format .xlsm est refusé).
J'ai écris une première macro. Je début vraiment en VBA, et rien ne fonctionne ! Rien ne s'affiche, je ne sais pas du tout comment faire...
Je pense que mon raisonnement est correct, mais je suppose que j'ai dû me tromper dans la formulation...
Voici ma macro :
Peut être que c'est ma formulation
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 Public Sub Synthèse() Dim n As Integer Dim i As Integer Dim j As Integer For n = 2 To 5 'n correspond au nombre de périodes For j = Sheet("Données").Cells(1, n).Value - Sheet("Données").Cells(2, n).Value + 1 To Sheet("Données").Cells(2, n).Value 'ce qui me donne pour ma première boucle for j=1 To 4, 'pour la seconde colonne : For j=3 To 6 etc... (c'est le T0 de la période) 'j correspond au nombre de colonnes For i = 3 To 5 'i correspond au nombre de ligne, j'ai 3 postes donc 3 lignes (L3, L4 et L5) Sheet("Final").Cells(i, j + 1).Value = Sheet("Données").Cells(i + 1, n).Value / Sheet("Données").Cells(2, n).Value Next i Next j Next n End Subqui est fausse ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sheet("nom de la feuille").Cells(i,j).Value
Bref, je suis complètement bloquée pour le moment...
Un grand merci à ceux ou celles qui pourront m'aider !
marie
Partager