Générer des tableaux automatiquement

Frite

XLDnaute Nouveau
Bonjour à tous

Avant de commencer, je précise que j'ai des notions de programmation mais je débute complètement en VBA, j'ai lu quelques tuto à droite à gauche, mais je sais pas vraiment où chercher pour élucider mon cas. Je pense pouvoir modifier un code s'il est suffisamment clair, mais j'aurais du mal à partir de 0.

Voici mon problème :

J'ai réalisé une version statique de ce que je désirerais obtenir que vous pouvez trouver en pièce jointe.

Je dispose d'un tableau sur une première feuille "Param Tables"
Chaque ligne de mon tableau comporte les informations suffisantes (ID, Nom, Niveaux, α, β, δ) pour générer un autre tableau dans une autre feuille "Tables".
En fait je bloque déjà à cette première étape.

Le tableau désiré se construit de la manière suivante :
Une première ligne indépendante qui indique le Nom et l'ID de l'objet
Une colonne "Niv" allant de 1 à la valeur "Niveaux"
Une colonne "Points" qui calcule une valeur dépendant de Niv, α, β, δ ( = α + (Niv*β)^δ )
(et une dernière ligne qui fait le total des points, mais elle est dispensable)


La seconde étape, c'est de répéter l'opération pour chaque ligne du tableau de la première feuille. J'ai ajouté une colonne "ID Cell" qui permettra de repérer le début du tableau généré.

J'espère ne pas demander quelque chose d'infaisable

En vous remerciant de votre aide :)
 

Pièces jointes

  • generateur.xlsm
    14.2 KB · Affichages: 60
  • generateur.xlsm
    14.2 KB · Affichages: 62
  • generateur.xlsm
    14.2 KB · Affichages: 62
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Générer des tableaux automatiquement

Bonsoir


En joignant un xls plutôt qu'un xlsm , plus grand sera le nombre de gens susceptibles de t'aider.
Tout le monde n'est pas sous XL2K7 ou XL2KX.

edition:bonjour sieur kjin
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Générer des tableaux automatiquement

Salutas, staple:),
Au plus simple...enfin je crois
Code:
Sub d()
Dim T, T2(), Tot As Double
x = 1
T = Range("A2:G" & Range("A65000").End(xlUp).Row).Value
For i = 1 To UBound(T)
    ReDim Preserve T2(1 To 4, 1 To x)
    T2(1, x) = T(i, 2)
    T2(2, x) = T(i, 1)
    x = x + 1
    For j = 1 To T(i, 3)
        ReDim Preserve T2(1 To 4, 1 To x)
        T2(3, x) = j
        T2(4, x) = Round(T(i, 5) + ((j * T(i, 6)) ^ T(i, 7)), 1)
        Tot = Tot + T2(4, x)
        x = x + 1
    Next
    ReDim Preserve T2(1 To 4, 1 To x)
    T2(3, x) = "Total"
    T2(4, x) = Tot
    x = x + 1
    Tot = 0
Next
With Sheets("Tables")
    .Range("A2").Resize(UBound(T2, 2), 4) = Application.Transpose(T2)
End With
End Sub
A+
kjin
 

bbb38

XLDnaute Accro
Re : Générer des tableaux automatiquement

Bonjour Frite, le forum,
Une autre idée de solution (mais avec des si) si :
- on peut modifier la présentation de la feuille « Tables » ;
- le nombre maximum de niveaux n’est pas trop élevé.
Les zéros peuvent être masqués.
Cordialement,
Bernard
P.S. Bonjour Kjin,
Félicitations pour le code. Je vais essayer de le comprendre.
 

Pièces jointes

  • generateur_frite.xlsm
    16.6 KB · Affichages: 56

Frite

XLDnaute Nouveau
Re : Générer des tableaux automatiquement

Merci pour vos deux réponses, c'est parfait, c'est exactement ce que je cherchais à obtenir
Je vais me servir de la méthode avec les SI pour continuer mon travail
Encore merci pour le temps que vous m'avez consacré !
Bonne soirée
 

Discussions similaires

Réponses
9
Affichages
156

Statistiques des forums

Discussions
312 379
Messages
2 087 770
Membres
103 662
dernier inscrit
rterterert