Shell et "en lecture seule..."

Signaler
Messages postés
13
Date d'inscription
mercredi 12 juin 2002
Statut
Membre
Dernière intervention
23 juin 2007
-
Messages postés
97
Date d'inscription
jeudi 10 mai 2001
Statut
Membre
Dernière intervention
20 juin 2005
-
Salut à tous.

J'ai un problème en ce qui concerne la commande shell.
En fait, ce que je dois faire c'est ouvrir un fichier excel (avec shell et en vbhide) et y envoyer des données contenues dans des variables. Tout cela fonctionne à un détail près: dès que le programmr arrive à la commande shell, il ouvre bien le fichier en question mais à chaque fois un message me dit:
"PERSO.xls est modicfié par un autre utilisateur, voulez - vous l'ouvrir en lecture seule" etc... et idem pour le fichier dont je demande l'ouoverture (test.xls).
Le problème c'est que je n'ai jamais demandé la création d'un fichier PERSO.
J'aimerais donc qu'il ne m'affiche pas tout ça à chaque fois.
Voici la ligne de commande que j'ai utilisé:
"fichier = Shell("c:\program files\microsoft office\office\excel.exe C:\gestion_étiquette\format_étiq.xls", vbHide)"

Y'a-t-il un moyen d'éviter l'affichage de ces mises en gardes ou même d'ouvrir un fichier excel autrement??

Merci d'avance
@+
Trolix

2 réponses

Messages postés
13
Date d'inscription
mercredi 12 juin 2002
Statut
Membre
Dernière intervention
23 juin 2007

Excusez moi j'ai fait une erreur de copier\coller, la commande c'est
fichier=shell("c:\programme files\microsoft office\office\excel.exe C:\test.xls", vbHide)"

@+
Trolix
0
Messages postés
97
Date d'inscription
jeudi 10 mai 2001
Statut
Membre
Dernière intervention
20 juin 2005

Bonjour,
Voici le code que j'utilise, pour ne pas voir excel il suffit de mettre XL.Visible False, pour ne pas voir les message d'alerte il faut ajouter XL.Application.DisplayAlerts False

Public Sub LanceExcel()
Dim XL As Excel.Application
Set XL = CreateObject("Excel.Application")
XL.Visible = True
XL.Workbooks.Add
'XL.Quit ' Ferme Excel
'Set XL = Nothing ' Libère la variable objet
End Sub

Public Sub NouveauClasseur()
Dim XL As Excel.Workbook
Set XL = CreateObject("Excel.Sheet")
XL.Application.Visible = True ' Rend Excel visible
XL.ActiveSheet.Cells(1, 1).Value = "Bonjours Iris Média"
XL.SaveAs Filename:="C:\Test.xls"
End Sub

Public Sub CreerGraphique()
Dim XL As New Excel.Application
Dim XLGraphique As Excel.Chart
XL.Visible = True
XL.Workbooks.Add
XL.Range("A1").Value = 3
XL.Range("A2").Value = 2
XL.Range("A1:A2").Select
Set XLGraphique = XL.Charts.Add
XLGraphique.Type = xl3DColumn ' Bibliothèque de référence
' pour la valeur
End Sub

Public Sub ExcecuteMacro()
'Macro Excel :
'sub ChangementValeur()
' for each c in worksheets("sheet1").range("A1:D10")
' c.value = rnd() * 100
' next c
'end sub
Dim XL As Excel.Workbook
Set XL = GetObject("C:\Test.xls", "excel.sheet")
' Rend Excel visible
XL.Application.Visible = True
' Rend le classeur (Workbook) visible
XL.Application.Windows("Test.xls").Visible = True
XL.Application.Run "ChangementValeur"
End Sub

Cordialement
0