Bonjour à tous
Comment s'écrit en VBA :
Merci pour vos réponsesCode:
1
2Si mon OS est 2000 alors... mais, si mon OS est Vista alors...
Version imprimable
Bonjour à tous
Comment s'écrit en VBA :
Merci pour vos réponsesCode:
1
2Si mon OS est 2000 alors... mais, si mon OS est Vista alors...
Salut,
essaie avec environ$
Regarde à http://excel.developpez.com/faq/inde...eEnvironnement
Bonjour,
pour excel comparer la valeur de
pour les 2 systémes.Code:
1
2 Application.OperatingSystem
Jacques.
ça m'a l'air compliqué pour un gueu comme moi,
mais j'aurrais une autre solution qui serait à dire sans m'occuper du système d'exploitation
Si ce répertoire existe alors déroule moi cette procédure sinon déroule moi celle là
voila mon code qui ne veut pas marcher
c'est là le probléme ce n'est pas un répertoire commun à 2000 et VistaCode:
1
2
3
4
5
6
7
8
9 Sub saveripex_QuandClic() Dim test, fdmca, script As String 'mise à jour automatique de la date lors de l'enregistrement Range("S2").Value = Now() 'Bouton_191.Visible = False On Error Resume Next 'Windows NT ou Windows 2000 rep = "C:\TEMP\"
Suite:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 test = GetAttr(rep) Debug.Print test If Err <> 0 Then os = "2000" 'enregistrement de la FDM à envoyer par FTP are = Left(Worksheets(1).Range("L2"), 3) fdm = "C:\TEMP\" & Range("L2") & ".xls" ThisWorkbook.SaveAs (fdm) ' creation du script FTP et enregistrement provisoire script = "C:\Temp\script.ftp" Open script For Output As #1 Print #1, "prompt" Print #1, "...." Print #1, "...." Print #1, "...." Print #1, "cd FDM" Print #1, "put " & fdm Print #1, "quit" Close #1 Shell ("command.com /c ftp.exe -s:C:\Temp\script.ftp") End If On Error Resume Next 'Windows NT ou Windows 2000 rep = "C:\Users\Public\TEST\" test = GetAttr(rep) Debug.Print test If Err <> 0 Then os = "Vista" 'enregistrement de la FDM à envoyer par FTP are = Left(Worksheets(1).Range("L2"), 3) fdm = "C:\Users\Public\TEST\" & Range("L2") & ".xls" ThisWorkbook.SaveAs (fdm) ' creation du script FTP et enregistrement provisoire script = "C:\Users\Public\script.ftp" Open script For Output As #1 Print #1, "prompt" Print #1, "...." Print #1, "...." Print #1, "...." Print #1, "cd FDM" Print #1, "put " & fdm Print #1, "quit" Close #1 Shell ("command.com /c ftp.exe -s:C:\Users\Public\script.ftp") End If 'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ThisWorkbook.Saved = True Application.Quit End Sub
je reformule ma question:
Comment écrit-on en VBA?
Si le répertoire Q\TEMP\ existe alors déroule telle procédure
Sinon si c'est ce répertoire Q\Useres\Public\
alors déroule celle-ci
Bonjour,
remplace toto par ce que tu veux et les msgbox par tes actions :
Code:
1
2
3
4
5 If Dir("c:\toto", vbDirectory) <> "" Then MsgBox "oui" Else MsgBox "non" End If
Je me simplifierais la vie en disant "si tu existes, c:\temp\, le répertoire est c:\temp\ mais si tu n'existes pas Mkdir "c:\temp"
Sans avoir à tester l'OS.
Maintenant, si tu dois tester l'OS, je ne vois pas ce qu'il y a de compliqué à mettre
pour connaître l'OS de vista, tu peux utiliserCode:
1
2
3
4
5
6
7
8 Select case Application.OperatingSystem Case "Windows (32-bit) NT 5.01" Code pour Windows Case "Vista.........." Code pour Vista Case Else Msgbox Application.OperatingSystem & " pas prévu !" End select
et là tu récupères la chaîne de caractèresCode:
1
2
3 Msgbox Application.OperatingSystem 'ou Cells(1,1) = Application.OperatingSystem
Désolé mais n'ayant pas Vista, je ne peux pas le faire pour toi.
Maintenant, si jamais cette chaîne change dans le temps, ton appli passera par "pas prévu !" et là, t'es coincé. C'est pourquoi je préférerais utiliser la première méthode.
Tu crois que tu vas malgré tout pouvoir t'en sortir ?
Bonne journée.
J'ai commencé à tester avec
Cela à l'air en bonne voieCode:
1
2
3
4
5 If Dir("c:\toto", vbDirectory) <> "" Then MsgBox "oui" Else MsgBox "non" End If
Merci à vous pour votre aide
A ce code, il te suffirait d'ajouter
Ou bien tu metsCode:
1
2
3
4
5
6 If Dir("c:\toto", vbDirectory) <> "" Then MsgBox "oui" Else MsgBox "non" Mkdir "c:\toto" End If
Code:
1
2
3
4
5 If Dir("c:\Temp", vbDirectory) <> "" Then Rep = "c:\Temp" Else Rep = "LeRep pour Vista..." End If