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 :

valider le format à la sortie cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 40
    Par défaut valider le format à la sortie cellule
    Bonjour,

    Je viens de commencer le vba dans Excel et j'ai besoin de votre aide. Je veux que lors de la perte de focus d'une cellule (après avoir saison un numéro de dossier , appeler une fonction (call) qui va vérifier si le numéro est bon. J'ai déjà mon code pour vérifier le numéro de dossier. Je ne sais pas comment faire en excel, je sais qu'avec access je mets:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Private Sub Numero_LostFocus()
    Call Verifier_Numero(Numero)
    Me.Numero.SetFocus
    End Sub



    Merci pour votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Au lieu de mettre ton code dans lostfocus, mets-le dans Click
    Quant au code, pour conserver le focus sur un bouton, tu dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Call Verifier_CP12(cp12)
    Cancel = True
    Me.cp12.SetFocus
    Tu peux conditionner "Cancel = True" sinon tu ne sortiras jamais de là Tu dis
    A+

    Edit
    En supposant que cp12 soit bien le bouton en question !

  3. #3
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 40
    Par défaut
    Voilà mon problème, je ne sais pas comment faire pour le mettre dans le click?

    Je veux que lorsque l'utilisateur quitte la cellule ex: D4 et clique dans une autre cellule ex: E4, la validation se fasse et ce pour une plage de cellule (D4 à D50). Donc mon utilisateur écrit son CP12 et lorsqu'il passe à l'autre cellule la fonction Vérifier CP12 doit démarrer.

    Merci de ton aide rapide.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ok, alors oublie ce que je t'ai mis, je n'ai jamais imaginé que CP12 était une cellule, je l'ai pris pour un bouton
    Je regarde
    A+

  5. #5
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 40
    Par défaut
    Merci de ton aide, voici des explications:

    Exemple: je suis dans la cellule D4 et j'écris mon CP12, lorsque je passe à une autre cellule (E4) je veux que appeler mon code (call ) Verifier CP12 et si le CP12 n'est pas bon, revenir dans la cellule D4.

    Encore un gros merci

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Bon, tu vas être obligé de transformer ta sub Verifier_CP12 en fonction pour savoir si tu dois retourner dans CP12 ou non.
    La fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function Verifier_CP12(LeRange) as boolean
      'ton code
      '...
      'ensuite, tu vois comment conditionner Verifier_CP12
      Verifier_CP12 = True 'si vérif ok
      Verifier_CP12 = False 'si vérif pas ok
    End function
    Pour appeler cette fonction placée dans un module standard, tu places le code suivant dans la feuille de code de la feuille de calculs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    dim ok as boolean
        if target.address(false, false) <> "CP12" then ok = Verifier_CP12("cp12")
        if not ok then range("CP12").select
    End Sub
    Si tu veux, tu peux ajouter l'effacement de CP12 "if not ok"... C'est toi qui choises
    Inconvénient de la méthode, quelque soit la cellule sélectionnée autre que CP12 lancera la vérif. (transparent si CP12 ok)
    Tu dis
    A+

    Correction
    J'ai oublié de parler du paramètre envoyé à la fonction (cp12)
    Si c'est censé être une adresse de cellule, ce que j'ai supposé, j'ai corrigé le code.
    Et dans la fonction, si tu vérifies ce qu'il y a dans CP12, tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range(LeRange).value = ... then
        Verifier_CP12 = True
       else
        Verifier_CP12 = False
    endif

  7. #7
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 40
    Par défaut
    Peut-on assigner un code seulement à un cellule et ou à une plage de cellule?

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

Discussions similaires

  1. [VBA-E]changer le format d'une cellule dans un spreadsheet
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 13/02/2006, 11h12
  2. format de sortie commande \pset
    Par Alesk dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 30/01/2006, 14h48
  3. [vb.net][vs2005][Validating event] Control de sortie
    Par graphicsxp dans le forum Windows Forms
    Réponses: 8
    Dernier message: 06/12/2005, 14h01
  4. Comment forcer le format d'une cellule?
    Par cha_cha dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/11/2005, 14h31
  5. Display Format d'une cellule d'une DBGrid
    Par Wilco dans le forum Bases de données
    Réponses: 5
    Dernier message: 21/10/2004, 13h00

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