VBscript: taille et couleurs des cellules Excel

Fermé
honey2 - 27 mars 2013 à 11:19
 honey2 - 3 avril 2013 à 16:11
Bonjour à tous,

Voilà mon problème:

Mon programme consiste à ouvrir un fichier Excel avec VBscript.
Je voudrai agrandir la taille des cellules ainsi que leurs couleurs.
Et aussi la taille de police des titres(gras..etc) et tout cela via VBscript.
Voila une partie de mon code:

'''''''''''''
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Worksheets(1)



materiel = InputBox("Entrez le matériel à configurer", "Choix de matériel","procurve")

if materiel= "procurve" then

''''''''''''Saisie des donnée pour Input:
switch = InputBox("Entrez le nom du switch:", "Switch name","")
ip = InputBox("Entrez l'adresse ip du Switch:", "ip address","")
gateway = InputBox("Entrez la passerelle", "gateway default","")

objWorksheet.Cells(6,1) = "Matériel"
objWorksheet.Cells(6,2) = "Nom du Switch"
objWorksheet.Cells(6,3) = "Ip Address du Switch"
objWorksheet.Cells(6,4) = "Default Gateway"


objExcel.Cells(7, 1).Value = materiel
objExcel.Cells(7, 2).Value = switch
objExcel.Cells(7, 3).Value = ip
objExcel.Cells(7, 4).Value = gateway

end if

'''''''''''''''''
Merci d'avance de votre aide.

19 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
27 mars 2013 à 19:20
Même question que dans ton autre poste.. Pourquoi pas tout faire directement en VBA dans le classeur ??
A+
0
Dans mon stage, on m'a exigé VBscript. J'avais tout fait en VBA et on m'a demandé de tout refaire avec VBscript !!

Des idées ??
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 28/03/2013 à 00:08
objExcel.Cells(7, 1).Value = materiel  
objExcel.Cells(7, 2).Value = switch  
objExcel.Cells(7, 3).Value = ip  
objExcel.Cells(7, 4).Value = gateway 

????
objExcel c'est l'instance d'excel mais pas le classeur, tu veux faire quoi là ?
Pour les format cellule/ couleur, c'est la même chose qu'en VBA sauf que tu indique l'objet feuille..
     with objWorksheet
        .Cells(6,1).Interior.colorIndes = 6
        .columns("1:10").AutoFit
    End With

A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
0
Je veux récupérer la valeur saisie par l'utilisateur et la poser dans la cellule indiquée.
Pour la couleur ça ne marche pas!
Il m'indique que"Cet objet ne gère pas cette propriété ou cette méthode"!

Remarque: J'étais en train de penser que si j'arrivais à enregistrer le fichier Excel(que j'arrive à créer déjà) ça serai plus simple et je pourrai générer une macro automatiquement pour les couleurs, la taille des cellules et bien d'autre s fonctions!

Les questions qui se posent sont:

Peut on enregistrer un fichier Excel avec VBScrit?

Et peut on générer une macro de manière automatique(et transparente pour l'utilisateur)dès l'ouverture du fichier Excel?

Merci d'avance.
0

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

Posez votre question
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
28 mars 2013 à 14:37
Peut on enregistrer un fichier Excel avec VBScrit?
Oui..
     objWorkbook.SaveAs Chemin & "\NomDuNouveauClasseur.xls"

Et peut on générer une macro
Générer (créer le code) ou activer une macro ?
0
Merci d'abord pour la première commande :D
Pour la deuxième, c'est plutôt activer (puisque je l'ai déjà crée et importer dans un répertoire).

Merci encore :)
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
28 mars 2013 à 21:01
Pour la deuxième, c'est plutôt activer (puisque je l'ai déjà crée et importer dans un répertoire).
Sous quel forme ? dans un autre classeur ?
0
Ma macro consiste à activer
La macro que je veux activer consiste à convertir le fichier le fichier excel en fichier texte et cela en cliquant sur un bouton.
Est ce que tu as une idée pour activer cette macro automatiquement?
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
28 mars 2013 à 23:03
Tu ne répond pas à ma question OU EST LA MACRO ??????
Dans un autre classeur ????
Ailleurs ?????
Sur un script à part ????
Grrrrrr
0
Ah désolé, elle est sur un disque D(ou je l'ai exporté pour l'enregistrer et en faire appel si besoin).

Je t'explique en détail comment je fais pour faire appel à cette macro:
je crée un fichier Excel, je clique: Alt + F11,
je fais: Fichier>Importer un fichier
et là je fais appel à ma macro enregistrée sur mon disque D.

Pour la faire marcher: je reviens sur mon fichier Excel, je vais sur: Developpeur> insérer bouton et je choisie un bouton que j'insère sur la feuille ouverte.

Sur le bouton, je clique à droite, je choisie affecter une macro et je choisie de liste la macro que je veux.

Voilà, mon but c'est de faire ces étapes mais de manière automatique sans que l'utilisateur se rende compte.

J'espère que c'est plus clair maintenant :)

Merci encore :)
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 29/03/2013 à 11:05
Pffuuiiit, difficile de se comprendre :-(
je fais: Fichier>Importer un fichier
Quel est le nom EXACT + EXTENTION de ce fichier
tu pourrais déposer ton fichier, sur www.Cjoint.com par exemple et communiquer le lien dans un poste suivant.
A+

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
0
il s'appelle: textfile.bas
dont voici le lien pour accéder à la pièce jointe:

http://cjoint.com/data3/3CDlS3BtUJA.htm
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 29/03/2013 à 15:19
Bon, j'ai à peu près les renseignements nécessaires pour cogiter un truc.
Remarque :
Dans ton module2 à importer
il manque certaine déclarations de variable (s2)
Mettre un fichier sur la racine du C ne fonctionnera pas avec Vista ou W7/W8 tu dois mettre un sous-répertoire par exemple C:\Toto\Module2.bas
Voir RunMacro
Bien entendu je n'ai pas les tenants et aboutissants de ton appli, ce n'est donc qu'une piste.
Me semble aussi que tu fais bien des tours et détours !!
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
0
Bonjour lermite,

Merci d'abord pour ta réponse.
Je t'ai mis en pièce jointe des modifications sur mon .bas.

En fait, mon objectif est qu'à l'ouverture du fichier Excel et en cliquant sur un bouton, cette macro se lance sans avoir à l'importer.
J'ai l'impression que c'est pas si difficile mais je suis nouvelle avec vba!

Cette macro a pour but de lancer un fichier texte(fichier de conf) chose que tu vas comprendre en lisant mon code.

Mon projet en bref: j'ai fait l'Input avec VBScript pour saisir les données avec des boites de dialogues(j'ai conçu un algo..etc) après un fichier Excel s'affiche avec les données déjà saisies dans les boites de dialogues et s'enregistre automatiquement.
Je suis à la 2ème phase: l'affichage automatique du fichier de conf. J'ai vraiment besoin d'aide pour que cette macro puisse se lancer.

Merci d'avance,

http://cjoint.com/data3/3DdmeHqRQHB.htm
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
3 avril 2013 à 15:12
Re,
En fait, mon objectif est qu'à l'ouverture du fichier Excel et en cliquant sur un bouton, cette macro se lance sans avoir à l'importer.
sans avoir à l'importer ? cela me parais difficile voir impossible à ma connaissance.
Pourquoi est-ce que l'import silencieux ne te convient pas ?
A+
0
Re,

Oui je vais concevoir ça pour des utilisateurs donc il n'ont pas à importer une macro(par ignorance ou par paresse)!

Je continue à chercher une solution..

Merci
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
3 avril 2013 à 15:35
Mais il ne doivent pas intervenir !!! c'est fait dans le code que je t'ai transmis.
0
Dans le code que tu m'a transmis, il crée un nouveau fichier Excel et c'est pas mon but! et il y a des bugs et il n y a pas le bouton à l'ouverture!
Je suis entrain de travailler sur une piste qui peut aboutir. je te le poste une fois finie ;)
0
Voila, j'ai trouvé une solution qui ressemble un peu à ce que je veux:

Il exécute la macro mais en cliquant sur la première cellule(A1).
Ce que je veux c'est qu'il exécute ma macro mais en cliquant sur un bouton.

Remarque: Le fichier Excel pour qu'il enregistre les macros, son extension doit être en .xlsm.

http://cjoint.com/data3/3DdqkQzXsDo.htm

http://cjoint.com/data3/3DdqjTYbdb4.htm
0