Code VBA qui supprime une ligne entière sur une feuille XL

Bonjour à tous,

N.B.

Puisque que je suis débutant en VBA, veuillez s.v.p. être claire dans vos

commentaires et si possible envoyez du code complet et fonctionnel.

Je tente en vain d'écrire du code qui doit accomplir les tâches suivantes:

1- Le code recherche la dernière itération d'une chaine de caractaire dans la première colonne d'une feuille.

2- La ligne correspondante à cette dernière itération est entièrement supprimée.

3- Les lignes du bas remontent toutes d'une ligne vers le haut.

C'est tout...... Mais je ne trouve pas ;.)

[b]MERCI à tous !!!!![/b]

Bonjour,

Merci de joindre un fichier exemple de tes données, en précisant où / comment se récupère le numéro d'itération à retrouver.

Cordialement,

Salut Zirak,

Comme tu as demandé j'ai ajouté un fichier qui se nomme FicheTest_2.

Pour ta question:

"où / comment se récupère le numéro d'itération à retrouver".

MA RÉPONSE EST:

Il n'y a pas de "numéro" d'itération à récupérer, il sagit de la dernière itération comme tel qui sera retirée.

Je vais plutôt te donner un exemple:

- Dans le fichier FicheTest_2, si tu clic sur le bouton (Ajouter), tu peux rajouter un/des item(s).

- Si tu clic sur le boutton (Retirer) c'est là que le code VBA que je cherche entre en jeux:

a) Par une InputBox on entre une chaine de caractère à rechercher dans la colonne Codebar: EX: Carr105

a) Le code VBA doit chercher la dernière place oû ce (Carr105) est trouvé.

b) Ce dernier (Carr105, voir la ligne 14 dans le fichier) est celui cherché et sa ligne complète doit-être retiré du fichier.

c) Les lignes du bas doivent remontés de une ligne (à la place de cell qui a été retirée à l'étape précedente)

Je crois que cette fois tu sera plus en mesure de saisir ce que je cherche à faire.

MERCI Zirak !!!!!!

67fichetest.zip (15.16 Ko)

bonjour,

On supprime la dernière occurrence de la colonne "A"

en supposant que c'est trié par date.

voir module1

Sub Retire()
Dim Item$, c As Range
Dim firstAddress$, Rep%, L&
    Item = InputBox("Entrer l'item à retirer S.V.P....")
    If Item = "" Then Exit Sub
    Set c = Columns("a").Find(Item, LookIn:=xlValues, Lookat:=xlWhole)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            L = Range(c.Address).Row 'recherche dernière occurrence
            Set c = Columns("a").FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress

        Application.Goto Range("a" & L), Scroll:=True
        With Rows(L)
           .Interior.ColorIndex = 6
           Rep = MsgBox("Ligne à supprimer ?", vbYesNo + vbCritical + vbDefaultButton2, "Supprime ligne")
           If Rep = vbNo Then
               .Interior.ColorIndex = xlNone
           Else
               .Delete
           End If
        End With
    Else
        MsgBox ("n'existe pas !")
    End If
        Application.Goto Range("a1"), Scroll:=True
End Sub

Amicalement

Claude

Merci Claude,

C'est parfait, tu m'a donné un CODE qui remplit bien sa mission....

MERCI ENCORE !!!!!

Rechercher des sujets similaires à "code vba qui supprime ligne entiere feuille"