Bonsoir à tous,
Pour situer les choses, voici ma démarche :
1 - J'ai une feuille 'TOTO' qui comporte une plage A4:Axxx nommée 'XXX' de façon dynamique sur la colonne A.
2 - Je souhaite mettre à jour ma feuille 'TOTO' avec des données externes.
3 - Donc provisoirement je duplique (en dernière position) ma feuille 'TOTO' que je renomme 'SV_TOTO' au passage.
4 - Je vide ma feuille 'TOTO' de ses données (sauf les lignes d'entête de colonnes).
5 - J'importe mes nouvelles données dans la feuille 'TOTO'
6 - Comme tout s'est bien passé, je supprime la feuille de sauvegarde 'SV_TOTO'
7 - Pour finir, je supprime le nom attribué à ma plage A4:Axxx et je le recrée avec le même nom 'XXX' et avec la même référence dynamique à la plage.
Mon problème survient avec une belle erreur 1004 lorsque je recrée le nom 'XXX'.
Je tourne en rond et ne voit pas où se trouve mon erreur. Aussi j'en appelle à vous pour bien vouloir SVP m'aider à corriger cela.
MERCI d'avance.
Je colle ci-après le code épuré qui me pose problème. :
....C'est sur cette dernière ligne que le code "plante" avec l'erreur n°1004.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 .... ' On sauvegarde le catalogue courant en dupliquant l'onglet correspondant wsFeuilleCatIPD.Copy after:=wbFichierRLS.Worksheets(Worksheets.Count) Set wsSV_CatIPD = wbFichierRLS.Worksheets(Worksheets.Count) wsSV_CatIPD.Name = "SV_CatIPD" ' On vide le catalogue courant de son contenu sauf la ligne de titre des colonnes wsFeuilleCatIPD.Activate lDerniereLigneCat = wsFeuilleCatIPD.Range("A1").SpecialCells(xlCellTypeLastCell).Row wsFeuilleCatIPD.Rows("4:" & lDerniereLigneCat).EntireRow.Delete ..... ' Ma procédure d'import de données ... .... ' On supprime la feuille de sauvegarde du catalogue IPD wsSV_CatIPD.Delete ' On rétabli les plages nommées associées à la feuille 'CatIPD' wbFichierRLS.Names("CIPD_NoCAT").Delete ' On supprime d'abord le nom 'CIPD_NoCAT' ' On recrée la plage nommée 'CIPD_NoCAT' wbFichierRLS.Names.Add Name:="CIPD_NoCAT", _ RefersTo:="=DECALER(CatIPD!$A$4;;;NBVAL(CatIPD!$A:$A);1)"
Cordialement
oracle7556
Partager