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 :

Controle de l'affichage d'une inputbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2013
    Messages : 34
    Points : 24
    Points
    24
    Par défaut Controle de l'affichage d'une inputbox
    Bonjour a tous!

    Me voila fasse a un petit probleme : l'utilisateur de ma feuille Excel doit entrer une valeur dans une inputbox et selon celle ci differentes action sont menees. Mon probleme est que systematiquement l'inputbox se re-affiche apres avoir rentre la valeur et je ne comprends absolument pas pourquoi (je suis oblige de valider plusieurs fois pour que la suite de la macro s'effectue)

    Voila en PJ ma feuille excel et ci dessous le code utilise :
    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
    54
    55
    Option Explicit
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
     
    ' Calcul pour les Peltons :
     
    If Range("C2") = "Pelton" Then
        Dim noz
        noz = InputBox("For now the number of nozzles is " & Range("N2") & " but you can choose a different number, please enter how many nozzles you want and then click Ok", "Turbine type 1")
        If Range("E2") = "V" Then
            If noz = 6 Or noz = 5 Then
                Range("B13").Select
                ActiveCell.FormulaR1C1 = 5000
            End If
            If noz = 4 Or noz = 3 Then
                Range("B13").Select
                ActiveCell.FormulaR1C1 = 4000
            End If
            If noz = 2 Or noz = 1 Then
                Range("B13").Select
                ActiveCell.FormulaR1C1 = 2000
            End If
        Else
            If noz = 3 Then
                Range("B13").Select
                ActiveCell.FormulaR1C1 = 500
            End If
            If noz = 2 Then
                Range("B13").Select
                ActiveCell.FormulaR1C1 = 400
            End If
            If noz = 1 Then
                Range("B13").Select
                ActiveCell.FormulaR1C1 = 200
            End If
        End If
    End If
     
     
     
    If Not Application.Intersect(Target, Range("B13")) Is Nothing Then
    Select Case MsgBox("Is the runner forged?", vbYesNo + vbQuestion, "Turbine type 1")
    Case vbYes
        Range("B14").Value = 1.25 * Range("B13").Value
    Case vbNo
        Range("B14").Value = Range("B13").Value
    End Select
    End If
     
     
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    End Sub
    Pour des raisons de confidentialite du projet j'ai enleve toutes les pages et donnees qui n'entre pas en compte dans ce que j'essaie de faire avec cette macro, vola pourquoi la presentation peut vous sembler etrange!

    Merci de votre aide!
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Points : 1 925
    Points
    1 925
    Billets dans le blog
    5
    Par défaut
    bonsoir,
    désactive le gestionnaire d'évènements quand il le faut et réactive le après action ou en fin de procédure.
    Étant dans une gestion d'évènement Change, tu effectues un changement générant à nouveau un autre évènement Change.
    Précède le changement d'une valeur de cellule par l'instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    , que tu mettras à True avant de sortir de la procédure.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2013
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    C'est parfait merci!
    Rapide et efficace!

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

Discussions similaires

  1. Affichage d'une image dans un user control
    Par fabfor dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/04/2007, 17h13
  2. Réponses: 9
    Dernier message: 25/02/2007, 13h46
  3. Réponses: 4
    Dernier message: 03/05/2006, 13h58
  4. Réponses: 4
    Dernier message: 20/03/2006, 18h57

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