Bonjour,
J'ai crée un userform qui permet de supprimer une ligne, jusque là ça va =). Or les composants qui figure dans mon tableau possèdent un numéro donc quand la ligne est supprimée, il faut que le numéro des lignes d'après soit diminué de un sinon il y un trou.
J'ai donc fait une boucle for pour toutes les lignes en dessous de celle supprimée mais ça bloque systématiquement au bout de deux opérations et je ne sais pas pourquoi.
Voilà le code qui foire, qui se trouve dans le module de mon userform "compodelete" dans le fichier excel joint.
Private Sub OK_Click()
Dim Nombre As Long
Nombre = Range("D10").Value
ActiveSheet.Unprotect
Sheets(Range("B" & 12 + num_compo.Value).Value).Delete
Rows(12 + num_compo.Value & ":" & 12 + num_compo.Value).Select
Selection.Delete Shift:=xlUp
For i = 0 To (Nombre - (num_compo.Value + 1))
Range("A" & 12 + num_compo.Value + i) = Range("A" & 12 + num_compo.Value + i) - 1
Sheets(Range("B" & 12 + num_compo.Value + i).Value).Select
ActiveSheet.Unprotect
Range("B1").Formula = " TECHNICAL QUOTATION SHEET " & Sheets("Project").Range("A" & 12 + num_compo.Value + i).Value & ""
ProtectionFeuille
Next
With Sheets("Project")
.Range("D10") = Nombre - 1
.Range("B13").Select
End With
ProtectionFeuille
Unload Me
End Sub
Voilà pour tester vous ajouter les composants un par un avec Add a component quand vous voulez en supprimer un, l'userform se lance.
Si vous trouvez la bêtise, je serai bien aidé! Merci beaucoup beaucoup!