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 :

Recuperer valeur TextBox Userform et utiliser dans second module


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
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 26
    Par défaut Recuperer valeur TextBox Userform et utiliser dans second module
    Bonjour a tous,

    Je vous contacte car je suis bloqué. Comme vous pouvez le voir sur mon fichier joint, lorsque l'on ajoute une production une forme se crée ainsi qu'un onglet. Ces deux créations sont reliées entre elles par un lien hypertexte.

    Cependant, ce que j'aimerai c'est de créer ce lien en appuyant sur le bouton "Finish" et non sur le bouton "Add" une fois la textbox renseigner. Mais je n'arrive à rien car je ne sais pas stocker la valeur de la Textbox1.... J'ai essayer avec Public mais il apparaît en rouge, j'ai essayer dans un module de classe etc mais rien n'y fait...

    Si je pouvais avoir une petite aide de ce coté ca serait un plus pour moi

    PS : J'ai laissé la création de l'hyperlink avec le bouton add pour l'instant.

    Merci d'avance

    Allan
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Par défaut
    Bonjour,

    Peut de gens ici télécharge les fichiers. Essaye également de placer du code dans tes explications. Ça ferais un bon point pour que les membres veuilles te répondre.

    Concernant ton problème, je ne comprend pas trop ce que tu tente de faire. Mais une fois que tu "Add" un texte, il est disponible sur ta feuille, donc autant récupérer le texte de la feuille plutôt que la valeur de la textbox, ce sera plus simple.

    Enfin bon, essaye d'être un peu plus précis sur ce ton objectif s'il te plait.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 26
    Par défaut
    Bonjour Majaaaax,

    Ok pas de problème (je croyais justement que les utilisateurs préféraient les fichiers directement)


    Code dans le module de lancement du bouton ajouter une nouvelle production :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Prod As String, X As String
    Sub Lance3()
       Add_NewProduct.Show 1
    End Sub
    Code dans le UserForm (C'est ici que la textbox est remplie) :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    Private Sub UserForm_Initialize()
        Me.TextBox1.SetFocus
    End Sub
    Private Sub CommandButton1_Click()
     
    Unload Me
     
    End Sub
     
    Private Sub CommandButton2_Click()
    Dim L As Single, T As Single, H As Single, W As Single
    Dim Shp As Shape
     
    Prod = TextBox1.Text
     
    X = Forme 'Prose probleme ici
     
    If TextBox1.Text = "" Then
        MsgBox "Please Select a Product", vbExclamation, "Message Erreur"
    Else
        ActiveSheet.Unprotect ("1995")
        With Worksheets("Main Sheet")
            Set Shp = .Shapes.AddShape(msoShapeRoundedRectangle, 525, 45, 89.5, 24.5)
            With Shp
    '            .Fill.ForeColor.RGB = RGB(204, 255, 204)
    '            .Line.ForeColor.RGB = RGB(0, 0, 0)
               .Name = "Forme"
                .TextFrame.Characters.Text = Me.TextBox1
                .TextFrame.HorizontalAlignment = xlHAlignLeft
                .TextFrame.Characters.Font.ColorIndex = xlAutomatic
                .TextFrame.Characters.Font.FontStyle = "Bold"
                .TextFrame.VerticalAlignment = xlVAlignCenter
                .TextFrame.HorizontalAlignment = xlHAlignCenter
                .Locked = True
            End With
     
    Shp.Select
     
            'Paramètre Texte
       With Selection.Font
            .Name = "Calibri" '<-- police
            .Color = RGB(255, 255, 255)
           .Size = 12 '<-- taille
           .Bold = True '<-- mise en gras
       End With
     
    End With
     
     
        Unload Me
     
        Sheets("Main Sheet").Select
     
            'Unhide shape new product (Done with Record Macro)
       ActiveSheet.Shapes.Range(Array("Horizontal Scroll 96")).Select
       ActiveSheet.Shapes.Range(Array("Group 104")).Visible = msoTrue
       Application.CommandBars("Selection").Visible = False
     
        ActiveSheet.Protect ("1995")
     
    End If
    End Sub

    Code dans le module du bouton Finish qui va permettre d'ajouter le lien hypertext entre l'onglet et la forme :

    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
    Sub Protect()
    Dim NouvelPage As String  '' petit changement ici
     
    'Hide shape new product (Done with Record Macro)
        ActiveSheet.Shapes.Range(Array("Group 104")).Select
        ActiveSheet.Shapes.Range(Array("Group 104")).Visible = msoFalse
        Application.CommandBars("Selection").Visible = False
     
    'Creation Hyperlink between Shape and Last Tab
     
        Sheets("PATTERN").Copy After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = Prod
     
        NouvelPage = "'" & Prod & "'!A1"    '' petit changement ici > les deux lignes
       Worksheets("Main Sheet").Hyperlinks.Add Anchor:=(X), Address:="", SubAddress:=NouvelPage, ScreenTip:=" Page " & Prod
     
    'Protectsheet
    ActiveSheet.Protect ("1995")
     
    End Sub

    Donc vous pouvez voir que je n'arrive pas à définir ma variable dans le code de l'userform (X=....) pour pouvoir y faire reference dans le code ou je veux creer le lien hypertexte (Anchor:=(X)) ... Par rapport au premier post, j'ai reussi a definir ma variable "Prod" mais toujours pas le "X"

    Allanbzh

  4. #4
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Par défaut
    Je comprend ta demande, maintenant, il semblerais que tu ne déclare pas tes variables.
    Le "Forme" ci contre, c'est quoi ? où est ce que tu récupères sa valeur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X = Forme 'Prose problème ici

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 26
    Par défaut
    Re Majaaax,

    Bien pourtant je pense la déclarer dans le module public du bouton nouvelle production ?? Je la déclare dans le module public pour pouvoir la réutiliser dans l'userform pour lui indiquer que le rectangle que je crée = X (ma forme), puis ensuite dans le module Finish pour relier la forme créée à mon onglet créé par la même occasion dans l'userform

    Non ?

    Allanbzh

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/04/2013, 14h10
  2. [Débutant] Recuperer valeur textbox dans DataList
    Par Romain0 dans le forum ASP.NET
    Réponses: 16
    Dernier message: 18/06/2012, 15h31
  3. [MySQL] recuperer une valeur par POST et utiliser dans un SELCT
    Par patheo2 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 15/01/2010, 10h35
  4. [VBA-E] Recuperation valeur Textbox en entier
    Par D@rkneo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/05/2007, 13h56
  5. Réponses: 3
    Dernier message: 14/04/2006, 19h36

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