renommer automatiquement une case dans un fichier Excel

renommer automatiquement une case dans un fichier Excel - VB/VBA/VBS - Programmation

Marsh Posté le 20-05-2005 à 10:02:38    

Bonjour...
J'ai un gros souci:
 
Dans le cadre de mon entreprise, je lance sur un serveur une commande Mbsacli.exe, qui va scanner les serveurs et sortir un fichier .xls me donnant les mises à jour manquantes ainsi que le numero de MAJ et un petit descriptif. Cela pour toutes les machines.
Ce fichier .xls va etre traité via Genio (une appli qui va prendre le fichier XLS et le balancer dans une base de données en SQL), pour enfin tirer des statistiques et lier tout ca a la base inventaire de ma boite (l'idée est que, dans chaque fiche inventaire, on ai les MAJ manquantes pour chaque machines, avec un lien direct pour le telechargement de la MAJ)
Le probleme est que le nom d'une colonne est "numero Q", il y a un espace, et des que je fait un "SELECT FROM numero Q" c'est pas possible parce que il y a un espace, ce qui est incompatible avec SQL. Du coup aucune information de cette colonne ne peut etre traité.
 
Le truc est que je ne peu pas me passer de cette colonne, puisqu'elle me donne le numero Q de la MAJ, qui me sert pour créer les liens direct vers le telechargement de la Mise à jour... Donc je dois la renommer en "numero_Q" sinon je suis mort.
 
Un traitement à la main n'est pas envisageable.
J'avai pensé a une petite apli VBA qui pourrai me renommer cette colone, mais ca deviens une usine a gaz...
 
Vous avez pas une idée, parce que la je suis bloqué...
Merci par avance.
To

Reply

Marsh Posté le 20-05-2005 à 10:02:38   

Reply

Marsh Posté le 20-05-2005 à 16:48:14    

bonjour,
pas besoin de faire une usine à gaz pour nommer une colonne une ligne suffit : pour nommer la colonne D de Feuil1 :
 
Sub Macro1()
ActiveWorkbook.Names.Add Name:="NumeroQ", RefersToR1C1:="=Feuil1!C4"
End Sub
 
Toutefois je me demande si c'est bien la colonne qu'il faut nommer ou la cellule en tête de colonne. Dans ce dernier cas celà donnerait toujours pour la colonne D (cellule D1) :
 
Sub Macro2()
ActiveWorkbook.Names.Add Name:="NumeroQ", RefersToR1C1:="=Feuil1!R1C4"
End Sub
 
Pour le peu de pratique que j'ai de SQL je pencherais plutôt pour cette dernière solution, mais à toi de voir...
A+

Reply

Marsh Posté le 23-05-2005 à 09:45:35    

J'ai resolu le probleme, mais merci quand meme. J'ai utilisé des niveau de guillemets differents:
SELECT FROM 'Numero Q' et la ca marche !!!!
Suis vraiment  trop con

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed