création de tableau en vba

taupivin

XLDnaute Junior
Bonsoir à tous,

mon problème est le suivant:

pour chaque cellule de la première colonne du tableau de données ci joint, je souhaiterais créer un tableau de 6 colonnes et et 6 lignes avec les paramètres suivant :

1ère colonne ligne1 : "n°séquence"
1ère colonne ligne2 : le code du tableau
1ère colonne ligne3 : "prod"
1ère colonne ligne4 : "évol"
1ère colonne ligne5 : "delta"
1ère colonne ligne6 : "tps "
2ème colonne ligne1 : 1
3ème colonne ligne1 : 2
4ème colonne ligne1 : 3
5ème colonne ligne1 : 4
6ème colonne ligne1 : 5
7ème colonne ligne1 : 6

Pour les autres cellules du tableau j'aurais des calculs à réaliser mais je ne m'en occupe pas pour l'instant.

Je ne sais pas comment m'y prendre c'est pourquoi j'utilise des macros enregistrée pour le faire actuellement. Toutefois j'aimerais le coder proprement.

Merci d'avance
 

Pièces jointes

  • Classeur2.xlsx
    254.2 KB · Affichages: 69
  • Classeur2.xlsx
    254.2 KB · Affichages: 73
  • Classeur2.xlsx
    254.2 KB · Affichages: 72

ROGER2327

XLDnaute Barbatruc
Re : création de tableau en vba

Bonjour taupivin, Grand Chaman Excel
Une variante plus rapide :
VB:
Sub toto()
Dim i&, j%, k%, oDat(), sDat()
  With Sheets("Feuil1").Range("A1")
    oDat = .Resize(.Parent.Cells(Rows.Count, .Column).End(xlUp).Row - 1, 1).Offset(1).Value
  End With
  ReDim sDat(1 To 7 * UBound(oDat, 1) - 1, 1 To 7)
  For i = 1 To UBound(sDat, 1) Step 7
    k = k + 1
    sDat(i, 1) = "N° séquence"
    For j = 2 To 7: sDat(i, j) = j - 1: Next
    sDat(i + 1, 1) = oDat(k, 1)
    sDat(i + 2, 1) = "prod"
    sDat(i + 3, 1) = "évol"
    sDat(i + 4, 1) = "delta"
    sDat(i + 5, 1) = "tps"
  Next i
  Sheets("Feuil2").Range("A1").Resize(UBound(sDat, 1), 7).Value = sDat
End Sub
(Noms des feuilles à adapter)​
ROGER2327
#5191


Mardi 10 Clinamen 138 (Rémission des Poissons, SQ)
12 Germinal An CCXIX
2011-W13-5T08:05:11Z
 

Discussions similaires

Statistiques des forums

Discussions
312 320
Messages
2 087 223
Membres
103 497
dernier inscrit
JP9231