Insertion valeur dans une ligne vide

Bonjour à tous

Après plusieurs recherches infructueuses, je cherche le moyen de pouvoir insérer plusieurs valeurs de cellule dans un ligne vide.

exemple

feuil1 (valeur dans plusieurs cellules)

A1 B1 C1

A2 B2 C2

A3 B3 C3

après validation sur bouton, envoyer le contenu dans feuil2, dans une ligne vide à la suite.

exemple

feuil2

ligne 1 (on retrouve les valeurs dans chaque colonne)

ligne 2 ( pour prochain enregistrement, etc...)

Merci de vos lumières !

Pour vous aider si cela n'est pas claire, il s'agit de faire un TRANSPOSE dans un autre onglet en ajoutant toujours une nouvelle ligne.

2transpose.xlsx (12.46 Ko)

Bonjour Jack95000,

Voici un essai :

5transposev1.xlsm (20.14 Ko)

Génial, c'est ce que je souhaitais.

Néanmoins, pour adapter ce code par la suite, à quoi sert les variables i j et k ?

Dim i&, j&, derlgntab&, Dercol&, Derlgn&, k&

Si je dois prendre une cellule en plus, qu'elle partie je dois adapter ?

Bonjour Jack95000 ,

Sub test()
Dim Ws As Worksheet, Ws_BDD As Worksheet, fileB As Worksheet
Dim tab_BDD, tablo()
Dim i&, j&, derlgntab&, Dercol&, Derlgn&, k&

' Liste des variables:
                'i: variable qui est utilisé afin de boucler les lignes du  tableau "tab_BDD" 
                'j: variable qui est utilisé afin de boucler les colonnes du  tableau "tab_BDD"
                'Derlgn: variable qui est utilisé pour calculer la dernière ligne du tableau "tab_BDD" 
                'Derlcol: variable qui est utilisé pour calculer la dernière colonne du tableau "tab_BDD" 
                'derlgntab: variable qui est utilisé pour calculer la dernière ligne utilisé de l'onglet "Bdb"
                'k: variable qui est utilisé pour redimensionner le tableau "tablo(k)" en fonctio du nombre de donnée indiqué dans le tableau "tab_BDD" (ex: 7 prénoms trouvé dans le tableau  "tab_BDD" alors ==> tablo(k)=tablo(7) )

    Set Ws_BDD = ThisWorkbook.Sheets("Saisie")
    Set Ws = ThisWorkbook.Sheets("Bdb")

    Dercol = Ws_BDD.Cells(2, Cells.Columns.Count).End(xlToLeft).Column
    Derlgn = Ws_BDD.Cells(Cells.Rows.Count, 2).End(xlUp).Row

    tab_BDD = Ws_BDD.Range(Ws_BDD.Cells(2, 2), Ws_BDD.Cells(Derlgn, Dercol))

    k = 0
    For i = 1 To UBound(tab_BDD, 1)
        For j = 1 To UBound(tab_BDD, 2)
            ReDim Preserve tablo(k)
            If Not tab_BDD(i, j) = Empty Then tablo(k) = tab_BDD(i, j): k = k + 1
        Next j
    Next i

    derlgntab = Ws.Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1
    Ws.Range("A" & derlgntab).Resize(1, UBound(tablo, 1) - 1) = tablo

End Sub

Merci Florian53

Comprendre est toujours mieux que faire bêtement

Rechercher des sujets similaires à "insertion valeur ligne vide"