(Windows 7, Excel 2010)
Bonjour
J'utilise une feuille de base Sheets("Budget2017") et une feuille de référence Sheets("TiersList").
La feuille de référence Sheets ("TiersList"), contient une liste de clients définie par le nom (Name = "TiersInfoList", scope: Workbook),
la liste occupe uniquement la colonne B de cette feuille.
Lorsque, sur la feuille de base Sheets ("Budget2017"), après sélection d'une cellule, j'applique le code ...
... tout est parfait, une nouvelle ligne est insérée au dessus de la ligne sélectionnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part activecell.EntireRow.Insert (Shift)
Par contre, et c'est là mon problème, si j'élimine une ligne quelconque au milieu de la liste de référence "TiersInfoList",
soit manuellement soit en utilisant le code qui suit
(en supprimant d'abord le nom de la liste actuelle et en le recréant à la fin pour la liste amputée):
et que j'essaie d'insérer ensuite une nouvelle ligne n'importe où sur la feuille Sheets ("Budget2017"),
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Public Const BudgetTiersSortStartRow = 3 ActiveWorkbook.Names("TiersInfoList").Delete EndRow = Range("B65536").End(xlUp).Row 'nouvelle fin de liste TiersRange = "$B" & "$" & BudgetTiersSortStartRow & ":$B" & "$" & EndRow ActiveWorkbook.Names.Add _ Name:="TiersInfoList", RefersTo:="=TiersList!" & TiersRange
Excel se plante immédiatement sans message d'erreur! et toutes les feuilles ouvertes sont inertes
et ne répondent plus.
Remarques complémentaires:
- Une ComboBox sur Sheets("Budget2017") utilise TiersInfoList comme 'RowSource'.
J'ai essayé de supprimer cette ComboBox mais pas d'amélioration en vue.
- En essayant de piéger l'erreur sur la ligne de code 'ActiveCell.EntireRow.insert' j'obtiens Err.Number = 2147417848.
- En utilisant Sheets ("TiersList") mais alliée à une feuille neutre à la place de ma feuille Sheets("Budget2017"), je n'ai pas ce problème!
Quelqu'un aurait-il une idée sur la cause de ce bug que je n'arrive pas à localiser?
Merci
Jacksun
Partager