VBS, copie d'un classeur et suppression de plusieurs onglets sans demande de confir'

  • Initiateur de la discussion Initiateur de la discussion Volix
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Volix

XLDnaute Nouveau
Bonjour à Tous,

Débutant en VBS, je viens vous demandez de l'aide pour terminer mon script

Le voici :
Code:
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "C:\Users\Internet\Desktop\scriptvbs\testvbs\test1.xls", "C:\Users\Internet\Desktop\scriptvbs\testvbs2\"
Set appExcel = CreateObject("Excel.Application")
Set wbExcel = appExcel.Workbooks.Open("C:\Users\Internet\Desktop\scriptvbs\testvbs2\test1.xls")
wbExcel.Worksheets("two").Delete
wbExcel.Close
appExcel.Quit
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing
Pour l'instant,
il copie correctement le classeur,
il me demande si je souhaite ouvrir le classeur en lecture-écriture ou non, demande de confirmation pour supprimer la feuille et enfin demande de sauver et quitter (terminer le processus)

Mais ce que je souhaiterais, c'est que le script soit "invisible", donc aucunes boites de dialogue 😕

Je n'arrive pas à intégrer (erreurs) :
Code:
Application.DisplayAlerts = False
Application.DisplayAlerts = True

Le script doit aussi supprimer plusieurs onglet normalement mais je n'arrive pas ajouter plusieurs feuille dans la sélection à supprimer, j'ai pourtant essayer :
Code:
wbExcel.Worksheets("two", "three").Delete
 
wbExcel.Worksheets("two","three").Delete
 
wbExcel.Worksheets("two").Delete
wbExcel.Worksheets("three").Delete


Je vous remercie d'avance pour l'aide que vous pouvez m'apporter
Cordialement,
Volix.

Je tourne sous XP

J'ai effectuer des recherches avant de venir poster ici,
Je suis en Stage (en 1ere Bac Pro SEN) et une de mes tâches consiste donc à faire un script VBS, mais n'ayant jamais toucher au VBS de ma vie, je bloque
 
Re : VBS, copie d'un classeur et suppression de plusieurs onglets sans demande de con

Re,

les lignes avec DisplayAlerts doivent entourer les parties qui génèrent des messages que tu ne souhaites pas voir comme précisé par Softmama, mais pas avec Application (tu es dans un script VBS, il n'y a pas d'Application par défaut je crois) mais avec appExcel

ça doit donner

appExcel.DisplayAlerts = False
..
..
appExcel.DisplayAlerts = True

Et ma dernière proposition, en ajoutant Filename:=, ça donne quoi ?
 
Re : VBS, copie d'un classeur et suppression de plusieurs onglets sans demande de con

J'ai déjà essayer se code :/
Code VBA:
appExcel.DisplayAlerts = False
Set wbExcel = appExcel.Workbooks.Open("d:\Documents and Settings\S0029819\Bureau\testvbs2\Parc Trixell.xls")
appExcel.DisplayAlerts = True
J'ai aussi mis le False avant d'ouvir le classeur et le true juste après et là j'ai juste le message de confirmation pour les feuilles, mais en final le classeur à toujours toutes ses feuilles

Et pour le Filename, je suis confus 😱 j'ai oublier de l'essayer enfin je n'avais pas remarquer ton message, mille excuse 🙄
Je vais essayer de l'essayer (belle répétition) sur mon propre ordinateur
 
Re : VBS, copie d'un classeur et suppression de plusieurs onglets sans demande de con

Bonjour Tototiti,

Je viens de faire un nouveau test avec Filename :
VB:
Set appExcel = CreateObject("Excel.Application")
Set wbExcel = appExcel.Workbooks.Open(Filename:="d:\Documents and Settings\S0029819\Bureau\testvbs2\Parc Trixell.xls", ReadOnly=False)

et j'ai une erreur assez étrange :
erreurata.bmp



Pour rappel voila le script, fonctionnel grâce à vous (Merci !) 🙂 Sauf le message lecture-seul, lecture-écriture qui apparait toujours 😡
VB:
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "I:\Services_TIV\dsi\Documents Affaires\TRIXELL\Parc\Parc Trixell.xls", "d:\Documents and Settings\S0029819\Bureau\testvbs2\"

Set appExcel = CreateObject("Excel.Application")
Set wbExcel = appExcel.Workbooks.Open("d:\Documents and Settings\S0029819\Bureau\testvbs2\Parc Trixell.xls")

appExcel.DisplayAlerts = False
wbExcel.Sheets(Array("READ ME", "Graph2", "tcd-grah", "180810controlerebut", "modèle_age", "UC supprimée")).Select
appExcel.ActiveWindow.SelectedSheets.Delete
appExcel.DisplayAlerts = True

wbExcel.Close True
appExcel.Quit
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour