Selection des cellules a coté et décaler vers le haut

Bonjour tout le monde,

J'ai un tableau excel que j'ai la quantité en colonne J ce que que je veux faire c'est supprimer range en décalant vers le haut parce que j'ai des valeurs en colonne z et a que je veux pas les supprimer (je peux pas supprimer ligne entière)

je veux dire en VBA : pour chaque ligne de la feuil2 colonne J si 0 alors supprimer en décalant vers le haut les cellules de colonne C au colonne R

Merci

Bonjour,

Voici 2 propositions si j'ai bien compris, la seconde étant nettement plus rapide en principe :

sub supprimer()

with sheets("feuil2")
    dl = .cells(.rows.count, 3).end(xlup).row: if dl < 2 then exit sub
    for i = dl to 2 step -1
        if .cells(i, "J").value = "" or .cells(i, "J").value = 0 then
            .range("C:R").rows(i).delete xlshiftup
        end if
    next i
end with

end sub
sub remplacer()

with sheets("feuil2")
    dl = .cells(.rows.count, 3).end(xlup).row: if dl < 2 then exit sub
    with .range("C2:R" & dl)
        t = .value
        for i = 1 to dl - 1
            if t(i, 8) <> "" and t(i, 8) <> 0 then
                n = n + 1
                for k = 1 to 16
                    t(n, k) = t(i, k)
                next k
            end if
        next i
        .clearcontents
        if n > 0 then .resize(n, 16).value = t
    end with
end with

end sub

Cdlt,

Merci beaucoup pour votre réponse rapide et utile <3

Rechercher des sujets similaires à "selection cote decaler haut"