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 :

VBA Selectionner Textbox --> problème [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut VBA Selectionner Textbox --> problème
    Bonjour,

    je veux créer une Textbox d'une certaine taille et puis la renommer. Pour la renommer, il faut d'abord sélectionner la Textbox.
    Or c'est la sélection de la TextBox créée qui ne marche pas chez moi.
    Pour détailler, je suppose de ne pas savoir le nom d'origine de la Textbox, donc par exemple je ne peux pas faire la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("Textbox5").Select
    , car je ne sais pas si la Textbox en question est la 5ème ou 6ème ou porte un quel numéro.

    Mon code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 196.5, 140.25, 26.25, 18#).Select
    Selection.Name = "TextBox_CC"
    J'ai déjà cherché plusieurs heures et dans différentes langues sur des divers forums pour trouver une solution, mais rien trouvé jusque-là.
    Est-ce que quelqu'un peut m'aider pour résoudre ce problème?

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    merci d'utiliser à l'avenir l'icône # pour le code …

    Ton code fonctionne sur ma version, si au moins tu avais précisé la tienne ‼

    Sinon tu n'as pas bien cherché ! Il n'est pas nécessaire, en fait plutôt déconseillé même, de sélectionner un objet pour le renommer !

    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 196.5, 140.25, 26.25, 18).Name = "TextBox_CC"


    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut Re:
    Salut,

    merci pour vos réponses, vous m'avez beaucoup aidé

    et désolé de ne pas avoir utilisé le signe devant le code, c'est la première fois que j'ai posté qqch sur un forum.

    Et pour préciser: j'utilise encore l'excel 2003 à l'instant.


    Merci à tout le monde pour les réponses si rapides.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Et pourtant ton code d'origine fonctionne bien sur ma version 2003 …

    Maintenant, merci d'appliquer la ligne ci-dessous !

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    __________________________________________________________________________________________
    Quand un homme dit des obscénités à une femme, c'est un pervers. Quand une femme dit des obscénités à un homme, c'est 3€95 la minute …

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut encore un souci...
    Rebonjour,

    pour renommer la Textbox cela fonctionne très bien, mais maintenant comment fais-je pour la modifier, p.ex. je veux insérer une Formule dans la TextBox etc...
    Pour faire cela je dois la sélectionner non?

    Le problème persiste: il ne veut pas sélectionner la TextBox.

    Voici mon code:

    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
    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 196.5, 140.25, 26.25, 18#).Name = "TextBox_1"   
    ActiveSheet.Shapes("TextBox_1").Select
        Selection.Characters.Text = ""
        Selection.Formula = "Données!C11"
        Selection.ShapeRange.ScaleWidth 0.91, msoFalse, msoScaleFromTopLeft
        Selection.ShapeRange.ScaleHeight 0.88, msoFalse, msoScaleFromTopLeft
        Selection.ShapeRange.Fill.Visible = msoTrue
        Selection.ShapeRange.Fill.Solid
        Selection.ShapeRange.Fill.ForeColor.SchemeColor = 65
        Selection.ShapeRange.Fill.Transparency = 0#
        Selection.ShapeRange.Line.Weight = 0.75
        Selection.ShapeRange.Line.DashStyle = msoLineSolid
        Selection.ShapeRange.Line.Style = msoLineSingle
        Selection.ShapeRange.Line.Transparency = 0#
        Selection.ShapeRange.Line.Visible = msoFalse
        Selection.ShapeRange.IncrementLeft 260.5
        Selection.ShapeRange.IncrementTop 40.5
        With Selection.Font
            .Name = "Calibri"
            .FontStyle = "Gras"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With

    Même si je fais le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("TextBox_1").Formula = "Données!C11"
    il me fait une erreur.


    Est-ce que qqn en connaît la cause ou la solution?

    P.S.: J'utilisé comme précédemment noté, encore l'Excel 2003.

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Formula n'est pas une propriété de Shapes, ne pas confondre avec une cellule ‼

    Un TextBox est un objet graphique contenant uniquement du texte …


    Et non, pas besoin de sélectionner un objet pour le modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        With ActiveSheet.Shapes("TextBox_1")
            .Characters.Text = Worksheets("Données").[C11].Text
        End With

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    __________________________________________________________________________________________
    Le taux de radiation est plus élevé au Pôle Emploi qu'à Fukushima.

  7. #7
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut
    J'ai essayé ton code ci-dessus et cela ne fonctionne pas chez moi en excel 2003, il me donne l'erreur: "Propriété ou méthode non gérée par cet objet".

    Une suggestion pourquoi il me donne encore l'erreur?

  8. #8
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Oups !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        With ActiveSheet.Shapes("TextBox_1")
            .TextFrame.Characters.Text = Worksheets("Données").[C11].Text
        End With

    Ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        With ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 196.5, 140.25, 26.25, 18)
                                 .Name = "TextBox_1"
            .TextFrame.Characters.Text = Worksheets("Données").[C11].Text
        End With
    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    __________________________________________________________________________________________
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que l'on ne sait pourquoi …


  9. #9
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut
    Merci beaucoup, ca marche maintenant.

    Et est-ce que tu sais la chose suivante:

    Avant d'avoir créé ma textbox j'ai crée un graphique en bâtonnets verticaux.
    Maintenant dans cette textbox j'ai écrit une valeur, et veut placer la textbox en une position précise du graphique.
    Tu sais comment faire?

    Je sais comment modifier la position du graphique, et de la TextBox, mais pas de la mettre en fonction de la position du graphique.
    Si je pourrais récupérer d'une manière ou autre la position du graphique, cela m'aidera déjà.

  10. #10
    Membre éprouvé Avatar de MlNOU
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 47
    Par défaut
    Bonjour,

    Tu dois doit pouvoir recuperer les coordonnés du graphique en accedant au propriétés du graphique et recuperer le X et le Y en utilisant me semble-t-il.


    Cordialement MlNOU.

  11. #11
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 8
    Par défaut
    Non le
    ne marche pas en excel 2003....

  12. #12
    Membre éprouvé Avatar de MlNOU
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 47
    Par défaut
    He bien je ne sais pas alors.

    Dsl

    Cordialement MlNOU.

  13. #13
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With shape
    .top=100
    .left=100
    end with
    En pixels

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

Discussions similaires

  1. Réponses: 29
    Dernier message: 04/03/2007, 09h39
  2. Réponses: 3
    Dernier message: 24/01/2007, 19h20
  3. [VBA Access 2002][Débutant] Problème Recordset
    Par SamLeChiseuji dans le forum IHM
    Réponses: 11
    Dernier message: 08/06/2006, 08h29
  4. Style du text selectionné + textbox
    Par Fabouney dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/04/2006, 12h12
  5. [VBA] Calcul du PGDC --> Problème de résultat
    Par snoopy69 dans le forum Access
    Réponses: 16
    Dernier message: 25/08/2005, 14h23

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