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 :

[E-00] Utilisation d'un auxilliaire pour simplifier le code


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
    Octobre 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 99
    Par défaut [E-00] Utilisation d'un auxilliaire pour simplifier le code
    bonjour,

    tout d'abord merci à ceux qui répondront.

    voici mon début de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim sh1 As Worksheet, sh5 As Worksheet
    
    Set sh1 = Sheets("Arc Movement LH")
    Set sh5 = Sheets("Levelling Phase LH")
    
        'Location 1
        If Sheets("Levelling Phase LH").OpB_jack.Value = True Then        
            sh1.Range("I20").Value = sh5.Range("I34").Value
            sh1.Range("K20").Value = sh5.Range("K34").Value
            sh1.Range("L20").Value = sh5.Range("L34").Value
        ElseIf sh5.OpB_airbag.Value = True Then                 
            sh1.Range("I20").Value = sh5.Range("I36").Value
            sh1.Range("K
    mon problème se situe sur la ligne rouge
    l'utilisation de sh5 me donne une erreur alors que dans la ligne bleue j'ai remplacé le sh5 par sa valeur et là ca marche

    quelqu'un pourrait il me sdire pourquoi ? merci

  2. #2
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut mais espaces !la honte
    pas une idée mais lorsque tu mets des noms de feuille en variable évite les espace (comme les accents) j'ignore pourquoi VBA n'aime pas les espaces je remplace toujours mes espaces par des undersores sheets("les ages") remplacé sheets("les_ages")
    peut être ce qui n'est pas digéré

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Citation Envoyé par Daranc Voir le message
    pas une idée mais lorsque tu mets des noms de feuille en variable évite les espace (comme les accents) j'ignore pourquoi VBA n'aime pas les espaces je remplace toujours mais espaces par des undersores sheets("les ages") remplacé sheets("les_ages")
    peut être ce qui n'est pas digéré
    Non pour moi cela ne pose pas de problème, même avec des accents et tout le bazar.

    Moi je pense savoir: tu as déclaré OpB_jack et OpB_airbag comme étant des range je ne sais où. OR, si tu veux y accéder, tu n'as pas besoin de préciser de feuille devant. Donc fais comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If OpB_jack.Value = True Then        
            sh1.Range("I20").Value = sh5.Range("I34").Value
            sh1.Range("K20").Value = sh5.Range("K34").Value
            sh1.Range("L20").Value = sh5.Range("L34").Value
        ElseIf OpB_airbag.Value = True Then                 
            sh1.Range("I20").Value = sh5.Range("I36").Value
            sh1.Range("K
    Je peux me tromper: peut-être que tu as ajouté des procédures property à tes feuilles, mais bon en général on ne le fait pas.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonjour,

    Il me semble que tu testes un "OptionButton" que tu as renommé.
    Si c'est le cas, vérifie l'existence et l'orthographe de "OpB_airbag" dans la feuille
    "Levelling Phase LH".

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 99
    Par défaut
    bonjour a tous,

    alors j'ai vérifié toutes mes orthographes pas de souci.
    je ne peux pas enlever le sheets("") devant car je susi dans un module et la procédure va etre appelé plusieurs fois.

  6. #6
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    Ouf la correction se reporte dans la citation
    tu définis tes variables feuille en public ?
    par contre Deconduite annonce quelque chose que tu devrait creuser si tes optionbutton sont appelé par leur nom il ne doit pas avoir besoin de chercher la feuille même si tu appelles plusieurs fois la procédure. les optionbutton porte tous un nom différent et sont donc unique ou alors; mettre juste un worksheets. devant .
    mais sa remarque est judicieuse

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonjour Tous

    Quand la macro ne trouve pas le nom, alors tu as ce message !

    Citation Envoyé par anyah Voir le message
    ...
    alors j'ai vérifié toutes mes orthographes pas de souci.
    ...
    comment ? visuellement ?
    Sais-tu qu'un espace en fin de mot n'est pas visible ?
    Essaie de faire un Copier du nom est le Coller dans la macro.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide pour simplifier un code et comprendre le mécanisme
    Par nicdodo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/04/2015, 15h50
  2. [E-07] Boucle pour simplifier le code
    Par dahuhunter dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/03/2009, 14h21
  3. Réponses: 6
    Dernier message: 14/11/2008, 14h32
  4. Réponses: 2
    Dernier message: 19/02/2008, 21h55
  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