Macro qui alloge un tableau et le réduit aprés validation

Bonjour

Je précise de suite que je suis "nul" en VBA mais souhaite apprendre

Dans le fichier ci joint je souhaite que le tableau s'allonge au fur et à mesure des saisies (ce qui n'est pas le cas) . Peut-être à cause de la validation de donnée en B13. Je ne comprends pas ce tableau devrait être dynamique!

D'autre part je souhaite que la macro ou le code recopie les données dans la feuille 2, mais la colonne C de feuille 1 devra être recopiée en colonne E et F . La donnée changera de place suivant l'option choisie dans la liste en E10 de feuille 1 qui n'est qu'un bête exemple

Mieux que du Bla bla je joins un fichier

Merci par avance pour votre aide

Bonsoir,

juste une petite précision :

sur le fichier envoyé, chez moi ce n'est pas un tableau, créer par le menu insertion du ruban d'Excel, cela ressemble plus a une plage de donnée "filtrée".

Et ceci dit, si la première cellule à renseignée est à faire grâce à une liste de choix, cette liste ne sera pas accessible dans le tableau...

Donc à droite de votre tableau la "copie" en tableau "inséré" par Excel, mais sans ajout automatique sous l'intitulé car la liste de choix n'est pas accessible, la solution ? inscrire une donnée quelconque , la ligne se crée, et modifier la donnée quelconque avec la liste de choix. Mais ça ne marche pas !!!!

LA SOLUTION : créer un tableau avec une colonne date par exemple : Tableau du dessous LOUREED

une fois la date entrée, la ligne est ajoutée et vous pouvez sélectionner une valeur dans la liste de choix.

voir fichier joint :

@ bientôt

LouReeD

Merci à vous

Merci d'avoir répondu, je vous donne mon avis demain sans faute, trop fatigué ce soir

Bonne soirée

Cordialement

Et tout ce fonctionnement sans VBA, c'est géré par Excel... Elle est pas belle la vie ?

@ bientôt

LouReeD

Bonjour, Salut LouReed !

Un petit essai à voir :

Sub InserLigne()
    ActiveSheet.Range("B13:E13").Insert xlShiftDown, xlFormatFromRightOrBelow
End Sub

Sub Valider()
    Dim tbv(), n%, h%, i%, k%
    With ActiveSheet
        n = .Cells(.Rows.Count, 2).End(xlUp).Row
        ReDim tbv(n - 13, 4)
        k = IIf(.Range("E10") = "Annuelle", 3, 4)
        For i = n To 13 Step -1
            tbv(h, 0) = .Cells(i, 2): tbv(h, 1) = .Cells(i, 4)
            tbv(h, 2) = .Range("C10"): tbv(h, k) = .Cells(i, 3)
            h = h + 1
        Next i
        If n > 13 Then .Range("B14:E" & n).Clear
        With .Range("B13:E13")
            .ClearContents
            .BorderAround xlContinuous, xlThin
        End With
    End With
    With [Tableau6]
        n = .Rows.Count + 1
        .Cells(n, 1).Resize(h, 5).Value = tbv
    End With
End Sub

J'ai apposé un x dans ton tableau Excel cible, pour que les lignes ajoutées s'y intègrent (ce qui ne serait pas le cas si la première et unique ligne est vide). Les lignes ajoutées se mettront à la suite. Une fois amorcée la première ligne restée vide peut être supprimée.

(Le problème n'intervenant qu'au démarrage, il n'était pas opportun de coder le traitement de ce cas qui ne se produit qu'une fois.)

Cordialement.

Bonjour,

Une proposition à étudier.

Cdlt.

10xlp-formulaire.xlsm (41.32 Ko)

Bonjour Jean Eric, M Ferrand et Lou Reed et au passageles "autres"

Merci pour vos réponses qui fonctionnent...Parfait

reste que ne connaissant pas ce forum, j'ai coché la case "accepter cette réponse sans savoir exactement ce que ça avait comme incidence et j'ai vu les autres "passer au rouge"

Que personne ne se formalise je n'ai pas fait de choix, j'étudie . Ce n'est une mauvaise manip.... je respecte trop l'engagement de chacun pour éviter de blesser

Cordialement

Rechercher des sujets similaires à "macro qui alloge tableau reduit validation"