[VBA] - Transférer si une ligne selon une cellule

Bonjour à tous, je n'y connais strictement au VBA, même en essayant de chercher des formules VBA de mon côté, je me perds. Peut-être trop complexe pour moi mais je n'ai pas le choix pour le coup...

Ce que j'ai: Une feuille SUPPRESSION, une feuille LISTE COMPLEMENTAIRE et une feuille avec ma BDD. J'ai fait une liste déroulante sur la plage H qui commence à 6 où il y a 3 possibilités: ACTIF / SUPPRESSION / LISTE COMPLEMENTAIRE.

Je souhaiterais lorsque je sélectionne SUPPRESSION, que la ligne complète (A6 à H6 par exemple) va dans la feuille SUPPRESSION et que lorsque je sélectionne LISTE COMPLEMENTAIRE, que la ligne complète (A6 à H6 par exemple) va dans la feuille LISTE COMPLEMENTAIRE.

Merci de votre aide !

Bonjour Toran, bonjour à tous

Fichier exemple ? Merci

Bonjour à tous,

Voici un premier jet avec :

- la BDD sous forme de tableau structuré, nommé ACTIF;

- les 2 autres feuilles nommées SUPPR et CMPLT.

private sub worksheet_beforedoubleclick(byval target as range, cancel as boolean)
if not intersect(target, range("ACTIF")) is nothing then
cancel = Deplacer("CMPLT", intersect(range("ACTIF"), rows(target.row)))
end if
end sub

private sub worksheet_beforerightclick(byval target as range, cancel as boolean)
if not intersect(target, range("ACTIF")) is nothing then
cancel = Deplacer("SUPPR", intersect(range("ACTIF"), rows(target.row)))
end if
end sub

Function Deplacer(SheetName$, rRow as range) as boolean
if msgbox("Déplacer la ligne vers " & SheetName & " ?", vbyesno) = vbyes then
    Deplacer = True
    with rRow
        t = .value
        with sheets(SheetName)
            nvl = .cells(.rows.count, 1).end(xlup).row + 1
            .cells(nvl, 1).resize(ubound(t), ubound(t, 2)) = t
        end with
        .delete xlshiftup
    end with
end if
end function

Un clic droit permet d'envoyer vers SUPPR, un double clic envoie vers CMPLT.

Le code est à placer dans le module de la feuille "ACTIF".

Cdlt,

Rechercher des sujets similaires à "vba transferer ligne"