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 :

activation d'une macro après sasie d'une valeur sous excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut activation d'une macro après sasie d'une valeur sous excel
    Bonjour,

    Je suis débutant et j'ai une macro sous excel qui me permet de contrôle la valeur saisie dans une cellule.

    Je souhaiterais que ce contrôle soit toujours actif à la saisie de la valeur.

    Merci par avance pour votre aide .

    Voici ma macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub CTRL_MT()
     
    Worksheets("toto").Select
     
    Dim V1 As Single
    V1 = Range("B7").Value
    If V1 < 21500 Or V1 > 50000 Then
    MsgBox "Vous devez sasir un montant entre 21500 € et 50000 €", vbAbortRetryCancel
    End If
    End Sub

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonjour,

    Menu Données > Validation

    C'est plus fiable, plus souple et plus rapide qu'une quelconque macro.


    Cordialement,

    Tirex28/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 27
    Points : 28
    Points
    28
    Par défaut
    Salut,

    Il faut placer ton code dans l'evenement change de ta feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Row = 7 And Target.Column = 2 Then   'correspond a la cellule B7
            Dim V1 As Single
     
            V1 = Range("B7").Value
            If V1 < 21500 Or V1 > 50000 Then
                MsgBox "Vous devez sasir un montant entre 21500 € et 50000 €"
            End If
        End If
    End Sub

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 27
    Points : 28
    Points
    28
    Par défaut
    Oui, ce serait plus pratique de passer par le menu validation.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Points : 520
    Points
    520
    Par défaut
    Citation Envoyé par tirex28 Voir le message
    ...

    Menu Données > Validation

    C'est plus fiable, plus souple et plus rapide qu'une quelconque macro.

    ...
    Oui mais, juste au cas où tu aurais éventuellement besoin de quelque chose que la validation ne permet pas...

    À insérer dans le module de la feuille contenant la cellule à valider:

    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
    Const AdresseAValider1 As String = "B7"  ' Addresse de la cellule à valider #1
    Dim PrevTargetVal1 As Variant            ' Valeur initiale de la cellule à valider #1
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        ' Ne fonctionnne que si une seule cellule est sélectionnée
        If Target.Cells.Count = 1 Then
            ' Si Target est la cellule B7
            If Not Intersect(Range(AdresseAValider1), Target) Is Nothing Then
                If ... valeur est erronée ... Then
                    ...
                    ' Remettre la valeur initiale en place et repositionner sur la cellule
                    If Not IsEmpty(PrevTargetVal1) Then
                        Application.EnableEvents = False
                        Target.Value = PrevTargetVal1
                        Application.EnableEvents = True
                    End If
                    Target.Select
                End If
            End If
        End If
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        ' Si la cellule en cours est celle à valider
        If Target.Cells.Count = 1 Then
            If Not Intersect(Range(AdresseAValider1), Target) Is Nothing Then
                ' Mémoriser la valeur initiale de la cellule
                PrevTargetVal1 = Target.Value
            End If
        End If
    End Sub

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos aides.

    Mon problème est résolu.


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

Discussions similaires

  1. [XL-2010] Création d'une macro événement feuille depuis une macro VBA
    Par phoenellion dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/03/2013, 12h57
  2. [XL-2000] Créer un fichier à partir d'une macro contenant lui même une macro
    Par nicogau18 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/07/2010, 16h05
  3. arréter une macro et initialiser par une macro
    Par potili2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/10/2007, 16h44
  4. [Macro]Mise à jour d'une table à l'aide d'une macro
    Par Jean-Luc80 dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2007, 19h59
  5. executer une macro apres validation d'une cellule
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2007, 19h20

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