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 :

simplifier un code


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut simplifier un code
    Bonjour a tous
    je me demande si il n'y a pas un moyen de simplifier ce code
    j'entends par la supprimer le besoins des 2 boucles imbriquées

    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
    Sub WMI()
        Dim oWMISrvEx As Object    'SWbemServicesEx
        Dim oWMIObjSet As Object    'SWbemServicesObjectSet
        Dim oWMIObjEx As Object    'SWbemObjectEx
        Dim oWMIProp As Object    'SWbemProperty
        Dim sWQL As String    'WQL Statement
        Dim n As Long             'Generic Counter
        sWQL = "Select * From Win32_VideoController" ' classe utilisée
        Set oWMISrvEx = GetObject("winmgmts:root/CIMV2")
        Set oWMIObjSet = oWMISrvEx.ExecQuery(sWQL)
        For Each oWMIObjEx In oWMIObjSet
            For Each oWMIProp In oWMIObjEx.Properties_
                If oWMIProp.Name = "CurrentHorizontalResolution" Then Debug.Print "resolution horizontale " & oWMIProp.Value
                If oWMIProp.Name = "CurrentVerticalResolution" Then Debug.Print "resolution vertcale " & oWMIProp.Value
            Next
        Next
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    bonjour,

    Nom : Capture.PNG
Affichages : 358
Taille : 126,4 Ko

    je te propose cette modif qui liste toutes les properties
    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
     
    Sub v2WMI()
        Dim oWMISrvEx As Object    'SWbemServicesEx
        Dim oWMIObjSet As Object    'SWbemServicesObjectSet
        Dim oWMIObjEx As Object    'SWbemObjectEx
        Dim oWMIProp As Object    'SWbemProperty
        Dim sWQL As String    'WQL Statement
        Dim n As Long             'Generic Counter
        sWQL = "Select * From Win32_VideoController" ' classe utilisée
        Set oWMISrvEx = GetObject("winmgmts:root/CIMV2")
        Set oWMIObjSet = oWMISrvEx.ExecQuery(sWQL)
        For Each oWMIObjEx In oWMIObjSet
            For Each oWMIProp In oWMIObjEx.Properties_
                'Debug.Print oWMIProp.Name & " " & oWMIProp.Value
                msg = msg & oWMIProp.Name & " " & oWMIProp.Value & vbCrLf
            Next
        Next
        MsgBox msg
    End Sub
    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour et merci pour le retour

    en fait je la connais cette macro mais je m'intéresse a faire sauter les boucles qui me sont inutile car le connais déjà les deux propriétés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonour à tous
    Le VRAI problème est que WMI n'est pas FORCEMENT disponible sur toutes les machines et/ou OS.
    Etre dépendant de sa disponibilité, n'est alors pas mieux que de l'être de l'utilisation de fonctions de l'Api de Windows.
    Et c'est donc kif-kif !
    Ta demande ne précise pas en quelles unités tu veux que soit exprimées ces dimensions. Si cela importe peu -->> pas de problème --->> facile de les avoir en points.

  5. #5
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    bonjour,


    cette modif affiche : 3840

    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
     
    Sub v3WMI()
        Dim oWMISrvEx As Object    'SWbemServicesEx
        Dim oWMIObjSet As Object    'SWbemServicesObjectSet
        Dim oWMIObjEx As Object    'SWbemObjectEx
        Dim oWMIProp As Object    'SWbemProperty
        Dim sWQL As String    'WQL Statement
        Dim n As Long             'Generic Counter
        sWQL = "Select * From Win32_VideoController" ' classe utilisée
        Set oWMISrvEx = GetObject("winmgmts:root/CIMV2")
        Set oWMIObjSet = oWMISrvEx.ExecQuery(sWQL)
        For Each oWMIObjEx In oWMIObjSet
        msg = oWMIObjEx.CurrentHorizontalResolution
        Next
        MsgBox msg
    End Sub
    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bon ben c'est déjà bien une boucle en moins
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. [E-00] Utilisation d'un auxilliaire pour simplifier le code
    Par anyah dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 21/11/2008, 17h31
  2. Simplifier le code
    Par Msieurduss dans le forum Langage
    Réponses: 8
    Dernier message: 18/06/2008, 10h07
  3. Réponses: 4
    Dernier message: 10/05/2008, 12h31
  4. Simplifier mon code "Majuscule/Minuscule"
    Par Manou34 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/01/2008, 17h05
  5. Aide pour simplifier un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 24/01/2008, 16h15

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