Erreur "3434" Impossible d'agrandir la plage nommée

Résolu
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 15 janv. 2010 à 09:07
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 17 févr. 2010 à 10:09
Bonjour à tous,

Devant rendre quotidiennement un certain nombre d'états pleins de chiffres dont les données brutes résident dans des SI pro', j'extrais celles-ci sous forme de .CSV que j'attachent ensuite à des tables Access.

Je lance ensuite une série de requêtes via une macro et, la mise en forme se faisant sous Excel (beaucoup plus pratique), la dernière requête est généralement un "TransferSpreadsheet" sur un onglet de classeur Excel.

Tout va bien dans la majorité des cas sauf quand le nombre de lignes/de colonnes varie une fois sur l'autre et j'obtiens donc l'erreur "3434 - Impossible d'agrandir la plage nommée".

Un transferSpreadsheet créant une plage que l'on peut modifier ensuite sous Excel par le menu "Insertion/Nom/Définir".

Toutes ces manips depuis le début étant automatisées via un bout de code VBA, y aurait-il un moyen de contourner cette erreur qui me fiche tout en l'air.

J'espère avoir été assez clair.
Merci pour vos réponses.


Calade

7 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 janv. 2010 à 11:55
Pour faire l'essai et mettre le doigt dessus, essaye de faire cette commande vers un nom d'onglet "standard".
Si ça passe avec un nom court, tu peux faire cet export avec un nom court, puis renommer le nom de l'onglet plus tard, pour rester compatible avec tes liens.
1
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 janv. 2010 à 03:07
Non, tu peux faire ton export en utilisant un nom d'onglet "normal" et quand tout est fini, faire une bidouille pour renommer l'onglet avec ton nom à rallonge.
1
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 janv. 2010 à 10:40
Salut
L'erreur est sous Access ou sur Excel ?
Sur quelle ligne du programme survient l'erreur ?
Sur quel objet agis-tu ?
As-tu fais une recherche de la phrase d'erreur sur le net ?
As-tu lu cette question en rapport : <lien ici>

L'erreur semble liée à la version de MDAC

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
15 janv. 2010 à 11:19
Bonjour et merci de me répondre,

L'erreur se produit dans Access à la ligne suivante:

   DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "R_130_OP_CHD_en cours_SMoins1 par marché", strExcelFile

ou strExcelFile est le nom du fichier Excel cible.

Les recherches sur le Net ne renvoient qu'une dizaine (!) de réponses exploitables dont la mienne et une autre solutionnée en supprimant l'onglet avant le transfert. Le problème avec ça c'est que le nom de la requête étant trop long pour nommé un onglet (maxi 30 car.) et difficile à renommer sans la rendre incompréhensible par rapport aux autres, j'ai ensuite renommé l'onglet en question.

Et pour couronner le tout cet onglet sert de serveur de données à un autre plein de RechercheV() qui seraient tous à revoir.

MDAC déclaré automatiquement par Access 2.1 mais idem avec 2.8 (2.8 dans le registry).

Calade
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
15 janv. 2010 à 11:22
Re moi,

J'ai oublié de préciser que si j'agrandis au départ la plage, si la requête renvoie plus de lignes j'ai une erreur "3435 - impossible de supprimer les lignes...", je ne me rappelle plus le libellé exact.


Calade
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
15 janv. 2010 à 14:00
Merci Jack du tuyau.

J'ai renommé la requete "requete" et donc la commande devient:

   DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "Requete", strExcelFile

me créé un onglet "Requete" et là pas de problème, il augment ou diminue le nb de lignes (et modifie la plage nommée).

Il reste plus qu'à modifier tous mes tableaux.

Calade
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
17 févr. 2010 à 10:09
Bonjour Jack,

Désolé d'avaoir attendu si longtemps pour répondre mais en début d'année c'est toujours la course.

Bon j'ai préféré refaire mon tableau (avec des Remplacer Tout cela ne prend pas longtemps), car c'est un tableau que je sors toutes les semaines et je préfèrais laisse quelque chose de propre.

Merci en tout cas pour ton aide.


Calade
0
Rejoignez-nous