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 :

[E-03] Récupérer la valeur d'une zone de texte dans une feuille


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Par défaut [E-03] Récupérer la valeur d'une zone de texte dans une feuille
    Bonjour, je voudrais faire un petit test.

    J'ai une feuille avec des zones de texte Nom de la feuille "Plan".

    Ce que je voudrais faire, c'est mettre un code qui s'adresse à l'ensemble de mes zones de texte de ma feuille.

    Quand je clic sur une de mes zone de texte, je voudrais dans un premier temps que sa me récupère dans une variable le contenu de la zone de texte sur laquelle j'ai cliqué.

    Ensuite je voudrais que ça m'ouvre une petite fenetre (un UserForm) avec 3 choix, soit aller dans la nomenclature (Feuille "Nomenclature"), que sa me test la colonne A et que si sa trouve dans cette colonne la valeur contenue dans ma zone de texte, alors sa me met la ligne (colonne A à C) en couleur.

    Sinon si je clic sur le bouton Plan ou Photo, je veux que sa aille dans un répertoire me chercher la photo ou le plan qui a le même nom que la référence (colonne C) de la valeur de la zonne de texte.

    Dans un premier temps je voudrais déja savoir comment récupérer dans une variable le contenu de ma zone de texte, et pouvoir récupérer cette variable pour mes trois boutons.

    Merci

    Je met en pièce joint un petit fichier exemple.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Par défaut
    Pour récuperer le contenu, j'ai trouvé sa:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = ActiveSheet.Shapes("zt1").TextFrame.Characters.Text
    Mais quel est le code à placer dans la feuille "Plan", pour que l'on affiche le UserForm, après clic sur n'importe quelle zone de texte? Et du coup on récupère la valeur de la zone de texte sur laquelle on a cliqué?

  3. #3
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Je ne sais plus comment on fait pour un simple click.

    Pour un double click mettre dans la feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Cells.Count = 1 Then 'Appliquer seulement sur cellule unique
       userform1.show
    end if
    End Sub
    Pour une cellule selectionnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count = 1 Then 'Appliquer seulement sur cellule unique
    userform1.show
    End If
    End Sub

    .

  4. #4
    Membre éprouvé
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Par défaut
    Re, ici ce n'est pas une cellule, mais une zone de texte sur laquelle je veux cliquer.

    Barre d'outil déssin/Zonne de texte

  5. #5
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Ok,

    et pourquoi pas affecter une macro à cette zone de texte

    Sinon ça me parait un peu complexe, vérifier que l'on a cliqué, voir la position de la zone de texte, vérifier s'il y a intersection ...
    Beaucoup de code pour pas grand chose !

  6. #6
    Membre éprouvé
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Par défaut
    ba si tu veux, mon idée n'est pas de créer une macro pour chaque txtBox.

    Ce que je voudrais faire en fin de compte, c'est créer une Sub pour toutes les textBox de feuille de classeur.

    Si je clic sur une textBox dans ma feuille alors sa m'affiche mon UserForm, et sa met le contenu de ma textBox sur laquelle j'ai cliqué dans une variable.

    Tu penses que c'est réalisable?

    (Je t'avoue que la je ne vois pas trop comment faire. Sa auré été des txtBox dans un UserForm sa aurait été plus simple...)

    [EDIT]

    Ce que je ne t'ai pas dit, c'est que l'avantage de procéder par un sub général, c'est que je peux ajouter autant de textBox que je veux sur ma page.

Discussions similaires

  1. [AC-2007] Alimentation d'une zone de texte avec une zone de texte déroulante
    Par BRUNO71 dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/12/2010, 20h54
  2. Réponses: 1
    Dernier message: 05/03/2010, 12h15
  3. Réponses: 3
    Dernier message: 06/09/2006, 10h06
  4. Réponses: 5
    Dernier message: 23/08/2006, 20h42
  5. [Débutant] Utilisation d'une valeur de la zone de texte dans une requête
    Par oceanediana dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 13/07/2006, 11h42

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