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 :

Text Box. Est-ce une adresse?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Divers
    Inscrit en
    Septembre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Septembre 2011
    Messages : 16
    Par défaut Text Box. Est-ce une adresse?
    Madame, Monsieur, Bonsoir....

    Un grand merci à ceux qui passeront par là et qui, peut-être, me permettront enfin de trouver la solution.

    J'ai un textbox et je souhaite que l'utilisateur ne puisse entrer comme texte uniquement l'adresse d'une cellule. Du type A12 ou B14 etc.

    Mais, car il y a un mais, je ne souhaite pas utiliser REFEDIT, ceci n'est pas possible dans le projet que je développe. (l'adresse de la feuille et du classeur est déterminée autrement).

    Quelqu'un connaitrait-il un code qui ressemblerait à cela, mais qui fonctionnerait?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sub test
     
    if not Textbox = range then
    msgbox= "Vous n'avez pas entré une adresse de cellule"
    end if
     
    end sub

    En vous remerciant beaucoup

  2. #2
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour

    en testant l'érreur par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    On Error GoTo A:
    Range(TextBox1.Value).Select
     
    Exit Sub
    A:
    MsgBox = "Vous n'avez pas entré une adresse de cellule"
    Tu dis

    Bonne journée

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 71
    Par défaut
    Ce n'est peut-être pas la solution la plus élégante, mais on peut toujours capturer l'erreur 1004 lorsque la Textbox perd le focus.

    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
     
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
      On Error GoTo GESTERROR
     
      MsgBox "OK"
     
      Exit Sub
     
    GESTERROR:
    If Err = 1004 Then
      MsgBox "Valeur de cellule invalide", vbCritical + vbOKOnly, "Erreur de saisie"
      TextBox1.Text = ""
      TextBox1.SetFocus
    End If
    End Sub

  4. #4
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour Dormeur74

    Comment tu teste l'erreur?

  5. #5
    Membre averti
    Homme Profil pro
    Divers
    Inscrit en
    Septembre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Septembre 2011
    Messages : 16
    Par défaut Thanks!
    Bonjour,

    Merci à vous, c'est la solution de Jean-Pierre que j'ai prise. Je n'étais pas loin avec mes tentatives, mais cela m'oblige à resélectionner la cellule qui était active au lancement de la procédure... 3 lignes de plus, mais il semble que ce soit ce qu'il y a de mieux.

    Merci à vous, bonne suite

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Comme cela on ne déselectionne pas la cellule active
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    On Error GoTo A
     
    Evaluate (Range(TextBox1.Text).Address)
     
    Exit Sub
    A:
    MsgBox "erreur"

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/06/2006, 21h18
  2. rendre invisible une texte box si elle est vide
    Par kuhnden dans le forum IHM
    Réponses: 4
    Dernier message: 09/03/2006, 01h55
  3. Raffraichissement d'une text box
    Par decour dans le forum IHM
    Réponses: 5
    Dernier message: 13/10/2005, 12h31
  4. Réponses: 4
    Dernier message: 23/06/2004, 14h30
  5. Réponses: 5
    Dernier message: 25/03/2003, 17h27

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