oracle7
XLDnaute Nouveau
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 (en magenta) que le code "plante" avec l'erreur n°1004.
Cordialement
oracle7
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. :
Code:
....
' [COLOR="SeaGreen"]On sauvegarde le catalogue courant en dupliquant l'onglet correspondant[/COLOR]
wsFeuilleCatIPD.Copy after:=wbFichierRLS.Worksheets(Worksheets.Count)
Set wsSV_CatIPD = wbFichierRLS.Worksheets(Worksheets.Count)
wsSV_CatIPD.Name = "SV_CatIPD"
'[COLOR="SeaGreen"] On vide le catalogue courant de son contenu sauf la ligne de titre des colonnes[/COLOR]
wsFeuilleCatIPD.Activate
lDerniereLigneCat = wsFeuilleCatIPD.Range("A1").SpecialCells(xlCellTypeLastCell).Row
wsFeuilleCatIPD.Rows("4:" & lDerniereLigneCat).EntireRow.Delete
.....
Ma procédure d'import de données ...
....
' [COLOR="SeaGreen"]On supprime la feuille de sauvegarde du catalogue IPD[/COLOR]
wsSV_CatIPD.Delete
' [COLOR="SeaGreen"]On rétabli les plages nommées associées à la feuille 'CatIPD'[/COLOR]
wbFichierRLS.Names("CIPD_NoCAT").Delete ' [COLOR="SeaGreen"]On supprime d'abord le nom 'CIPD_NoCAT'[/COLOR]
' [COLOR="SeaGreen"]On recrée la plage nommée 'CIPD_NoCAT'[/COLOR]
[COLOR="Magenta"]wbFichierRLS.Names.Add Name:="CIPD_NoCAT", _
RefersTo:="=DECALER(CatIPD!$A$4;;;NBVAL(CatIPD!$A:$A);1)"[/COLOR]
....
Cordialement
oracle7