Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Transformation tableau --> base de donnée VBA

  • Initiateur de la discussion Initiateur de la discussion Chapu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chapu

XLDnaute Nouveau
Bonjour à tous !

Après quelques recherches et essais infructueux je me tourne vers vous.
Je souhaiterais obtenir une base de donnée à partir d'un tableau. En fait ça serait faire l'inverse d'un TCD : à partir d'un TCD retrouver la base de donnée d'origine.

Dans le fichier exemple joint j'ai en entrée-ligne les pièces puis en entrée-colonne les mois et une sous-catégorie des types. J'aimerais obtenir une base de donnée sous la forme de celle en exemple dans la feuille "Table d'arrivée" (je l'ai arrêtée au mois de février, mais je souhaiterais quelle aille jusqu'à décembre !).

Je pense que ça doit pouvoir se faire rapidement avec une boucle en VBA, mais étant débutant je n'y arrive pas 🙁. J'espère avoir été assez clair...

Merci d'avance pour votre aide,

Chapu
 

Pièces jointes

Re : Transformation tableau --> base de donnée VBA

bonjour Chapu
à mettre dans u module

Code:
Sub transfert()
    Dim Tbl As Variant, L As Long, Li As Long, C As Byte, M As Byte

    With Worksheets("Table de départ")
        Tbl = .Range("B2").CurrentRegion
    End With

    Application.ScreenUpdating = False
    With Worksheets("Table d'arrivée")
        Li = 3
        For C = 2 To 36
            If Tbl(2, C) = "Vis" Then M = M + 1'mois
            For L = 3 To UBound(Tbl)
                .Range("B" & Li) = Tbl(L, 1)    'pièces
                .Range("C" & Li) = M    'mois
                .Range("D" & Li) = Tbl(2, C)  'type
                .Range("E" & Li) = Tbl(L, C)    'quantité
                Li = Li + 1
            Next

        Next
    End With
    Application.ScreenUpdating = True

End Sub

à bientôt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…