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