Modifier un tableau mal conçu en BDD

gypsos

XLDnaute Junior
Bonjour,
Je suis au niveau débutant avec VB et j’ai besoin d’aide pour modifier un tableau Excel. Celui-ci a été mal conçu mais comme il représente un nombre d’heure considérable de saisie je dois essayer de sauver ce boulot.

J’ai une première feuille avec le nom d’un transporteur, le dépôt de départ et le département de destination, puis le poids et la valeur des envois. Le but étant de pouvoir lister pour un poids donné les expéditions dont le poids est inférieur et supérieur ou égal à cette valeur, ceci par dépôt et par département
J’ai commencé un truc mais j’atteins ma limite de compétence beaucoup trop tôt …

Je cherche à copier les trois premières cellules de la ligne 2 (A2 :C2 de la feuille L1), dans la feuille BDD en A2, puis les 2 cellules (Entête P et M) D2 :E2 dans la feuille BDD en D2, puis recopier dans la feuille BDD en A3 les cellules (A2 :C2 de la feuille L1) puis récupérer 2 cellules suivante (Entête P et M) F2 :G2. Cela ainsi de suite jusqu’au bout de la ligne.

Je ne sais pas comment utiliser des variables pour déterminer les déplacements dans la première feuille et imbriquer la boucle de déplacement horizontale dans L1 et passer à la ligne du dessous quand on arrive au bout du tableau.

Ma question existe une solution plus simple que celle que je viens de décrire ? Sinon où trouver des exemples pour que je m’en inspire ?

Je vous joins un extrait du fichier cela sera peut-être plus clair que mes explications fumeuses…
Merci de votre aide
 

Pièces jointes

  • bdd transport test.xls
    157.5 KB · Affichages: 54

Modeste

XLDnaute Barbatruc
Re : Modifier un tableau mal conçu en BDD

Bonsoir gypsos,

En admettant que j'aie bien compris (ce qui reste sujet à caution :rolleyes:), une proposition en pièce jointe.
Je suis parti du principe que la colonne A de la feuille "L1" ne serait vide que si la même ligne ne contient pas d'autres données. Dès lors, j'ai considéré aussi que les valeurs "éparpillées" dans les colonnes AD et suivantes, au-delà de la ligne 36 étaient des données "parasites" (ceci dit, ça représente tout de même 2844 parasites :eek:)

Avant d'aller plus loin, donc, vérifie si la macro fait bien ce que tu espérais!
 

Pièces jointes

  • bdd transport test (2).xls
    165.5 KB · Affichages: 58

Bebere

XLDnaute Barbatruc
Re : Modifier un tableau mal conçu en BDD

bonjour Gypsos,Modeste
une autre proposition
compris la demande comme suit,mettre en colonnes ce qui est en lignes

Code:
Sub transfo1()
    Dim i As Long, L As Long
    Dim C As Integer

    tbl = Sheets("L1").Range("A1").CurrentRegion
    Application.ScreenUpdating = False

    With Sheets("BDD2")
        L = .Range("A65536").End(xlUp).Row + 1
        .Range("A2:E" & L).ClearContents 'efface
        For i = 2 To UBound(tbl, 1)    'lignes
            For C = 4 To UBound(tbl, 2) Step 2    'colonnes
                If tbl(i, C) = "" Then Exit For
                L = .Range("A65536").End(xlUp).Row + 1
                .Range("A" & L).Value = tbl(i, 1)    'transport
                .Range("B" & L).Value = tbl(i, 2)    'dépôt
                .Range("C" & L).Value = tbl(i, 3)    'dpt
                .Range("D" & L).Value = tbl(i, C)    'p
                .Range("E" & L).Value = tbl(i, C + 1)    'm
            Next C
        Next i
    End With

    Application.ScreenUpdating = True

End Sub
 

Modeste

XLDnaute Barbatruc
Re : Modifier un tableau mal conçu en BDD

Bonjour Bebere :)

Bonne nouvelle (pour moi, surtout :rolleyes:): on a compris la même chose :D
Il n'y a plus qu'à attendre le retour de gypsos, qui aura deux propositions pour le prix d'une!

... Mes hommages à Tongres,
 

gypsos

XLDnaute Junior
Re : Modifier un tableau mal conçu en BDD

Bonsoir,
Je n'ai pas eu le temps de consulter le forum avant et je n'avais pas dû cocher la case suivre le forum, quelle n'a pas été ma joie de découvrir vos solutions.

Vous avez compris mon charabia et, je viens de vérifier cela fonctionne parfaitement! Je vais décortiquer vos lignes afin de comprendre!

En tout cas un grand merci à vous deux!
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 348
Membres
103 194
dernier inscrit
rtison