Bonsoir,
J'ai un soucis, en cherchant sur le forum j'ai trouvé un seul sujet similaire mais malheureusement pas de solution 
Je vais essayer d'être clair :
J'ai une feuille avec une liste. La première ligne comporte les en-têtes et je ne veux pas en tenir compte, vous allez comprendre :
Dans un module, j'ai créé la fonction suivante :
1 2 3 4 5 6 7
| Public Function plgTraitement() as Range
Dim Plage As Range
Dim a As Integer
Set Plage = ThisWorkBook.Worksheets("Traitement").Range("A1").CurrentRegion
a = Plage.Rows.Count - 1
Set plgTraitement = Plage.Resize(RowSize:=a).Offset(RowOffset:=1)
End Function |
Dans un formulaire, j'ai une listbox. En écrivant le code suivant :
1 2
| 'Actualiser le RowSource
ListBox1.RowSource = "Traitement!" & plgTraitement.Address |
Aucun problème.
J'ajoute et j'insère autant de lignes que je veux dans cette feuille et en """Acutalisant le RowSource""" je n'ai toujours pas le moindre problème.
Le soucis c'est quand je supprime un ligne ! J'utilise le code suivant
ThisWorkBook.Worksheets("Traitement").Rows(Ligne).EntireRow.Delete
La ligne est supprimée sans soucis mais au moment """d'actualiser""" c'est la function plgTraitement qui bugge, à la ligne suivante :
Set Plage = ThisWorkBook.Worksheets("Traitement").Range("A1").CurrentRegion
avec une erreur 1004 "IMPOSSIBLE DE LIRE LA PROPRIETE CURRENTREGION DE LA CLASSE RANGE"
Je suis un peu pommé j'arrive pas à cerner le problème.
Si quelqu'un a un idée 
merci
Partager