IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Choix de l'OS


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Par défaut Choix de l'OS
    Bonjour à tous
    Comment s'écrit en VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Si mon OS est 2000 alors...
    mais, si mon OS est Vista alors...
    Merci pour vos réponses

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Salut,

    essaie avec environ$

    Regarde à http://excel.developpez.com/faq/inde...eEnvironnement

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Par défaut
    ç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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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\"
    c'est là le probléme ce n'est pas un répertoire commun à 2000 et Vista
    Suite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Par défaut
    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

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    remplace toto par ce que tu veux et les msgbox par tes actions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Dir("c:\toto", vbDirectory) <> "" Then
       MsgBox "oui"
     Else
       MsgBox "non"
     End If

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    pour connaître l'OS de vista, tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           Msgbox Application.OperatingSystem
    'ou
           Cells(1,1) = Application.OperatingSystem
    et là tu récupères la chaîne de caractères
    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.

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Par défaut
    J'ai commencé à tester avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Dir("c:\toto", vbDirectory) <> "" Then
       MsgBox "oui"
     Else
       MsgBox "non"
     End If
    Cela à l'air en bonne voie
    Merci à vous pour votre aide

  8. #8
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonjour,

    pour excel comparer la valeur de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.OperatingSystem
    pour les 2 systémes.



    Jacques.

Discussions similaires

  1. Choix d'un EDI pour la 3D (Open GL, Portable)
    Par Riko dans le forum OpenGL
    Réponses: 6
    Dernier message: 01/08/2002, 12h25
  2. [Choix] Quelles attentes par rapport aux SGBD ?
    Par thierry34 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 13/07/2002, 20h08
  3. [Choix] SGDB pour Entreprise : coût, efficacité, etc.
    Par grassat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 15/06/2002, 08h52
  4. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23
  5. Choix d'un ORB
    Par Anonymous dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo