Shell et "en lecture seule..."

trolix Messages postés 13 Date d'inscription mercredi 12 juin 2002 Statut Membre Dernière intervention 23 juin 2007 - 14 juin 2002 à 08:38
Derrick soft Messages postés 97 Date d'inscription jeudi 10 mai 2001 Statut Membre Dernière intervention 20 juin 2005 - 25 juin 2002 à 23:42
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

trolix Messages postés 13 Date d'inscription mercredi 12 juin 2002 Statut Membre Dernière intervention 23 juin 2007
14 juin 2002 à 08:46
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
Derrick soft Messages postés 97 Date d'inscription jeudi 10 mai 2001 Statut Membre Dernière intervention 20 juin 2005
25 juin 2002 à 23:42
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
Rejoignez-nous