VBA-Suppression via une boite de dialogue

Bonjour,

Je crée un petit fichier pour suivre l'entretien des voitures de la famille et j'ai écris quelques macros pour faciliter son utilisation.

Dans un onglet, j'ai la liste récapitulative des véhicules et via une boite de dialogue, je souhaite pouvoir supprimer une ligne.

La première partie de la macro fonctionne bien avec la création de la boite de dialogue mais la suppression ne s'exécute pas.

Ci dessous la macro :

Sub SuppressionLigne()

Dim Cpt1 As Integer         'compteur                       numérique
Dim VoitDeb As Integer      'ligne début                    numérique
Dim VoitFin As Integer      'ligne fin                      numérique
Dim Descr As String         'decription coef                alpha
Dim LigneVal As Integer     'ligne d'insertion valeurs      numérique

With Application
    .ScreenUpdating = False
    .EnableEvents = False
End With

' Charge les informations nécessaires depuis la feuille de calcul
VoitDeb = 10 + Range("A10").Offset(RowOffset:=0, ColumnOffset:=0).Value
VoitFin = 10 + Range("A10").End(xlDown).Value

' Construction de la LisBox dans la UserForm
UFLigneSup.ListBox1.Clear
    For Cpt1 = VoitDeb To VoitFin
        Descr = ActiveSheet.Range("B" & Cpt1).Value
        UFLigneSup.ListBox1.AddItem Cpt1 - 10 & "            " & Descr
    Next
UFLigneSup.Show

' Sortie si click sur Annuler
If Sel_Button = 0 Then Exit Sub
MsgBox (Cpt1)
If Sel_Button = 1 Then
        ' Supression des lignes sélectionnées
    For Cpt1 = VoitFin To VoitDeb Step -1
    If UFLigneSup.ListBox1.Selected(Cpt1) = True Then
                Rows(Cpt1 & ":" & Cpt1).Select
                Selection.Delete Shift:=xlUp
                Application.DisplayAlerts = False
                Worksheets(Cpt1 - 10 & "A").Delete
                Worksheets(Cpt1 - 10 & "B").Delete
                Application.DisplayAlerts = True
                Range("B1").Select
                MsgBox (Cpt1)

                'supression de macro
                Dim Debut As Integer, Lignes As Integer
                Dim NomMod As String, NomMacro As String
                Dim Compteur As Integer
                Compteur = Cpt1 - 10
                NomMod = "Module1"
                NomMacro = "Macro" & Compteur
                With ThisWorkbook.VBProject.VBComponents(NomMod).CodeModule
                Debut = .ProcStartLine(NomMacro, 0)
                Lignes = .ProcCountLines(NomMacro, 0)
                .DeleteLines Debut, Lignes
                End With
        Else
                MsgBox "2"
        End If
        Next
End If

MsgBox (Cpt1)
MsgBox "3"

With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = xlCalculationAutomatic
End With

End Sub

Merci d'avance pour votre aide

Bonjour

Un extrait de fichier ??

Merci

Re bonjour,

Ci joint le fichier .

Bonjour

J'ai réussi à supprimer la ligne , tu étais mal placé.

Mais ça fiche la pagaille à cause de tes formules..

Il faudrait revoir, la formule est-elle vraiment utile sur ta première feuille ?? je n'ai pas cherché plus loin.

Je t'envoie tout de même le fichier , tu verras où était le problème ..

A+

Super merci ! Je comprends mon erreur.

De quelles formules parlais tu ?

Re

Dans Sommaire :

Véhicule :

=INDIRECT(A10&"A!L4")&"  "&INDIRECT(A10&"A!L6")

J'ai trouvé une solution pour éviter la pagaille:

Nouveau fichier:

A moins que ce que tu avais avant ne te convienne...

Bye

Re,

J'ai des erreurs qui apparaissent encore mais je vais essayer de l'améliorer.

Merci encore

Rechercher des sujets similaires à "vba suppression via boite dialogue"