Problème avec un mot réservé

Bonjour à tous,

J'ai développé une macro qui extrait des données et les met en forme, depuis 4 fichiers Excel vers un seul qui comporte 4 onglets.

Je répète successivement 4 requètes SQL pour extraire les données dans les 4 fichiers consécutivement. Les 3 premières fonctionnent très bien mais pas la dernière. Après pas mal de tests et de recherches, j'ai isolé la partie qui ne fonctionne pas et j'en viens à me demander si le nom d'un d'un des champs ne pose pas problème...

Voici la requête qui ne fonctionne pas :

SELECT `LOT_CODE`, `ACT_YEAR` FROM [Activites_Taches1$] WHERE `LOT_CODE` <> 0

J'ai commencé par vérifier que l'onglet et les colonnes existent et que les orthographes sont bons dans le fichier sources, et tout est OK.

J'ai donc fini par vérifier ma requête en alternant le SELECT

Cette requête fonctionne

SELECT `LOT_CODE` FROM [Activites_Taches1$]

Cette requête ne fonctionne pas

SELECT `ACT_YEAR` FROM [Activites_Taches1$]

J'en viens donc à me demander si le mot YEAR qui est, sauf erreur de ma part, un mot réservé sur Excel, n'est pas le problème...

Est-ce que cette analyse vous semble plausible ?

Si oui, comment fait on pour faire un SELECT sur un nom de colonne qui comporte un mot clé ? (sachant que changer le nom de la colonne ne m'est pas possible)

Merci à tous

Luc

Bonjour

Je ne vois pas pourquoi le mot "ACT_YEAR" poserait problème.

Il doit y avoir une autre chose qui cloche.

Bye !

Bonjour

même remarque, tu es sûr que le champs ACT_YEAR existe ?

Bonjour,

Quand tu écris "Year"

Ce n'est pas pour indiquer que colonne excel s'appel "Act_2020" ? j'espère ?

Non ACT_YEAR est bien le nom du champ (et non ACT_2020)

Désolé pour la confusion possible, je ne l'avais pas détecté...

Non ACT_YEAR est bien le nom du champ (et non ACT_2020)

Désolé pour la confusion possible, je ne l'avais pas détecté...

Est dans le Titre de la colonne excel il n'y a pas un espace qui ce balade avant ou après ?

Je m'en veux presque de ne pas avoir vérifier avant, mais je viens de le faire et non, il n'y en a pas (je suis presque dessus).

Sur mon message précédent, je voulais écrire "je suis presque déçu" (j'ai honte de cette faute, désolé)

Du coup, j'ai un peu avancé sur mon problème et je ne pense plus que le problème vient du mot YEAR.

J'ai recopié toute la colonne seule dans un nouveau fichier qui ne contient que celle-ci et la requête SQL fonctionne dans ce cas...

Je suis un peu surpris et totalement désorienté sur la manière de traiter le problème

Bonjour à tous, j'étais un peu chargé ces derniers temps et j'avais laissé ce problème de côté, mais j'y reviens maintenant que mon emploi du temps me le permet.

Une collègue s'est penché sur mon code et a détecté le problème. En fait ADODB n'est pas capable d'aller chercher des colonnes au de là de 255, et la colonne ACT_YEAR est à la colonne 261... Ce qui explique pourquoi la macro fonctionne quand j'enlève ACT_YEAR de la requête...

Le problème n'est effectivement pas lié au mot clé YEAR donc. Du coup, est-ce que quelqu'un a une idée de la manière de faire une recherche sur une colonne qui est au de là de la colonne 255 ?

Merci à tous

Luc

Bonjour,

Regarde du côté de Récupérer et transformer (Power Query).

Cdlt.

Je vais regarder ça merci

Je vais marquer le sujet comme résolu parce que je n'arrive pas à modifier le titre et du coup, ce n'est plus du tout la même demande...

Merci à tous pour votre aide

Rechercher des sujets similaires à "probleme mot reserve"