Incrémentation de cellules

A

Abo

Guest
Sur 1 feuille Excel, j'ai ce qui correspond à une fiche imprimable avec des données. A écart fixe, se suivent ces fiches contenant leurs données respectives. On a donc sur une même feuille Excel, toutes les 52 lignes, une fiche à la même mise en page, mais dont les données changent.

Sur une autre feuille Excel, je souhaite faire le récapitualatif de ces fiches dans un tableau où 1 fiche = 1 ligne. Il faut donc que je fasse appel à mes données de la feuille précédente.

Mais tout faire à la main est fastidieux vu le nombre de fiches. Or, l'automatisation n'est pas simple puisqu'à chaque ligne, je dois prendre la cellule à laquelle je fais référence et rajouter 52 lignes pour tomber sur la cellule qui m'intéresse... [j'espère que je me fais bien comprendre !].

Le soucis vient du fait qu'apparement, on ne peut pas incrémenter les cellueles. Ou en fait si, mais alors il reconnait la suite mais ne la continue pas, il considère que celle sélectionnée pour lui donner un exemple est finie et repart avec une nouvelle valeur d'origine.

Voilà, tout ça n'est pas très clair mais si quelqu'un avait dans ce bordel une ébauche de solution, ça m'arrangerait !
 
B

Bernard

Guest
Bonsoir Abo

Si j'ai bien compris, tu veux récapituler dans la feuil2 la première ligne de chacunes des fiches de la feuil1, sachant que chaque fiche comprend 52 lignes et qu'elles sont placées en ordre descendant, l'une après l'autre. La colonne A est supposée être la colonne de base des fiches et la ligne 1 la première ligne de la première fiche.
Ne connaissant pas la largeur des fiches en nombre de colonne, j'ai pris arbitrairement une largeur de 12 colonnes, largeur qui peut être changée.

En fonction de ces paramètres, la macro suivante exécute le récapitulatif.


Sub RecapTitreFiche()
Dim i As Byte
Dim NbLign As Byte
NbLign = Sheets("Feuil1").Range("A10000").End(xlUp).Row
For i = 1 To NbLign Step 52
Sheets("Feuil2").Range("A200").End(xlUp).EntireRow.Range("A2:L2").Value = Sheets("Feuil1").Cells(i, 1).EntireRow.Range("A1:L1").Value
Next i

End Sub


Cordialement

Bernard
 
A

andré

Guest
Bonjour Abo ,

Comme le dit très justement Bernard, si tu signales bien que chaque fiche comporte 52 lignes, tu ne dis pas combien de colonnes.
Il m'étonnerait que cela en soit 12, parce que 52*12=624, donc ta feuille 2 serait trop étroite.
A moins que tu entendes par le "récapitulatif" une seule colonne.

Si c'est le cas, une petite formule peut très bien faire l'affaire.
Supposons tes fiches dans la colonne A de la feuille 1, à partir de A2 et les données à retranscrire dans la feuille 2 également à partir de A2.
La formule : =INDIRECT("Feuil1!$A"&NBVAL(A$1:A1)*52+COLONNE()+1)
en A2 que tu copies sur 52 colonnes et sur le nombre de lignes souhaité te donneras le résultat attendu.

Si ce n'est pas cela, un petit mot d'explication complémentaire serait le bienvenu.
Ândré.
 

Discussions similaires

M
Réponses
9
Affichages
477
Maikales
M

Statistiques des forums

Discussions
312 231
Messages
2 086 457
Membres
103 217
dernier inscrit
LoshR7