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 :

Action suite à une perte de focus


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Action suite à une perte de focus
    Bonjour, je souhaiterai actionner ma commande VBA à la perte du focus de la case choisi.

    La case (6, 3) ne doit pas aller au delas de 3 soit 1,2 ou 3 et si un autre chiffre est entré alors une msgbox apparait disant que La Catégorie doit être comprise entre 1 et 3 et tout cela après la perte du focus...

    Merci de bien vouloir m'indiquer la méthode à suivre !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If (Sheets("fiche arrivée").Cells(2, 3) > 1 Or Sheets("fiche arrivée").Cells(2, 3) < 3) Then
    MsgBox ("La Catégorie doit être comprise entre 1 et 3")

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    dans le module de ta feuille ajoute ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Application.Intersect(Cells(2, 3), Range(Target.Address)) Then
      If Cells(2, 3) < 1 Or Cells(2, 3) > 3 Then _
        MsgBox ("La Catégorie doit être comprise entre 1 et 3")
    End If
    End Sub
    j'ai aussi inversé le sens des comparaison < et >
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci de ta réponse mais lorsque je perd le focus, il y a une erreur:

    Erreur d'éxecution '91'

    Variable objet ou variable de bloc note With non définie

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    utilise plutot ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Cells(2, 3), Range(Target.Address)) Is Nothing Then
      If Cells(2, 3) < 1 Or Cells(2, 3) > 3 Then _
        MsgBox ("La Catégorie doit être comprise entre 1 et 3")
    End If
    End Sub
    j'ai modifié une ligne
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  5. #5
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    Bonjour,

    Peut être comme cela??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("c3")) Is Nothing Then
    If Target <> 1 And Target <> 2 And Target <> 3 Then MsgBox "La Catégorie doit être comprise entre 1 et 3"
    End If
    End Sub
    SALUTATIONS

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    bonjour laetitia

    attention ce ne serai pas plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Application.Intersect(Target, Range("c2")) Is Nothing Then
    a+
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  7. #7
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    rebonjour zyhack effectivement erreur pas bonne ligne
    SALUTATIONS

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup pour votre aide zyhack et laetitia mais lorsque j'ai testé le dernier code, plus rien ne se passe à la perte du focus

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    quel code à tu essayé?
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Celui la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("c2")) Is Nothing Then
    If Target <> 1 And Target <> 2 And Target <> 3 Then MsgBox "La Catégorie doit être comprise entre 1 et 3"
    End If
    End Sub

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    essaye le 2eme que je t'ai donné

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Cells(2, 3), Range(Target.Address)) Is Nothing Then
      If Cells(2, 3) < 1 Or Cells(2, 3) > 3 Then _
        MsgBox ("La Catégorie doit être comprise entre 1 et 3")
    End If
    End Sub
    je l'ai retesté et il fonctionne
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    A mon avis je ne l'ai pas mit au bon endroit, pouvez vous m'indiquer ou le mettre ?

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Dans le code de la feuille

    dans vb tu double clic sur le nom de ta feuille dans la partie gauche, ce qui ouvre une fenêtre de saisie.
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup ! Ça marche très bien, je le met en résolue

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

Discussions similaires

  1. Evènements suivant une perte de focus
    Par gloode dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 20/12/2012, 16h11
  2. Réponses: 1
    Dernier message: 25/10/2010, 11h36
  3. JPanel : "Saut" lors d'une perte de focus
    Par lepak dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 21/08/2010, 04h50
  4. Définir un évenement suite a perte de focus
    Par imad_eddine dans le forum ASP.NET
    Réponses: 3
    Dernier message: 07/09/2007, 09h33
  5. Contrôle de saisie sur une perte de focus d'une JTextfield
    Par comeochris dans le forum Composants
    Réponses: 3
    Dernier message: 03/04/2006, 15h21

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