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 :

Mettre des valeurs de cellules dans un textbox [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Mettre des valeurs de cellules dans un textbox
    Bonjour le forum !

    En bon débutant VBA que je suis, je me suis heurté à un problème que j'ai du mal à résoudre...
    Je vais essayer de vous expliquer mon problèmes de manières la plus clair possible :
    Mon projet est de faire une fonction de recherche pour trouver des données et afficher ces données dans plusieurs TextBox. J'ai réussi à faire la fonction recherche, il me trouve la donnée demandé, me donne la localisation (ex : $G$125), et me sélectionne la ligne où se trouve la donnée. Après il m'ouvre un nouvel Userform où là j'ai mes différentes TextBox (voir l'image ci dessous)


    Chaques Textbox correspond à une colonne de mon classeur excel.
    J'aimerais faire en sorte que les données des cellules s'affichent dans la textbox correspondant (par ex : Pour la première textbox, que la données de la colonne A et ligne x s'affiche, etc...)
    J'ai trouvé ça sur internet, mais j'ai du mal à comprendre ce que ça fait (et ça n'affiche pas ce que je souhaite) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Devicetxt = Range("A" & Cells(Rows.Count, 100).End(xlUp).Row)
    Voila, n'hésitez pas à me demander pour plus d'infos, je vous remercie d'avance.

  2. #2
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    bonjour, peux-tu mettre ton code de recherche stp se sera plus facile de t'aider sinon on va te faire x proposition et on risque de tourner en rond.

    le code que tu as mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Devicetxt = Range("A" & Cells(Rows.Count, 100).End(xlUp).Row)
    va chercher dans la colonne N° 100 le numéro de la dernière ligne utilisé de cette colonne disons "x" et va ensuite afficher dans la textbox la valeur de la colonne A et ligne "x".

    est-ce ce que tu souhaites?
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse
    Non, je ne pense pas que c'est ce que je souhaite. J'ai réussi à sélectioné la ligne voulu, pour ensuite pouvoir l'exploiter. Vu que j'ai la ligne sélectionné, et que les TextBox sont "assigné" à des colonnes, j'ai juste les lignes qui changent suivant la recherche.

    Voici le code que j'ai mis dans ma première userform :

    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
    Private Sub Recherche_Click()
    Dim localise, localise2 As String                                           'Déclaration de "localise" en tant que chaîne de caractères
    Dim i, j As Integer                                                         'Déclaration "i" entiers 16 bits
    Dim a, ligne As Range
     
    If Partnumber_box <> "" Then                                                'On fait une recherche avec le Partnumber du composant
        For i = 2 To DernLigne                                                  'Lorsque i est compris entre 2 et la dernière ligne de la colonne G
             If ListePartnumber(i) = Partnumber_box.Value Then                  'Si la valeur du tableau se trouvant à i = la valeur du Partnumber
             localise = Cells.Find(ListePartnumber(i), , xlValues).Address      'Trouve les coordonnées de la cellule où se trouve la valeur de ListePartnumber
              Cells(i, 7).Select                                                'Sélectionne la cellules où se trouve la donnée
              Rows(ActiveCell.Row).Select                                       'Active toute la ligne
                If MsgBox(localise, vbInformation, "Localisation") = vbOK Then  'Ouvrir une boite de message avec la valeur de localise dedant
                Load Composant_trouvé
                Composant_trouvé.Show
                End If
        Exit For                                                                'Permet de sortir de la boucle for lorsque une fois la recherche terminée
             ElseIf i + 1 = DernLigne + 1 Then                                  'Si i vaut Dernligne (ce qui veut dire pas de résultat avant)
                Beep                                                            'Emettre un signal sonore
                If MsgBox("Composant Non référencé, voulez-vous le créer ?", 4116, "Composant non trouvé") = vbYes Then
                  Load CréationComp                                             'Si clic sur Créer, chargement en mémoire de la fenêtre "Création de composant"
                  CréationComp.Show                                             'Ouverture de la fenêtre
                End If
     
             End If                                                         'On sort de la boucle If
        Next i
     
    ElseIf Device_box <> "" Then                                            'On fait une recherche avec le device du composant
        For j = 2 To DernLigne2
             If ListeDevice(j) = Device_box.Value Then
             localise2 = Cells.Find(ListeDevice(j), , xlValues).Address
              Cells(j, 1).Select
              Rows(ActiveCell.Row).Select
             If MsgBox(localise2, vbInformation, "Localisation") = vbOK Then
                Load Composant_trouvé
                Composant_trouvé.Show
             End If
     
             Exit For
             ElseIf j + 1 = DernLigne2 + 1 Then
             Beep
             If MsgBox("Composant Non référencé, voulez-vous le créer ?", 4116, "Composant non trouvé") = vbYes Then
                  Load CréationComp
                  CréationComp.Show
                 End If
     
             End If
     
        Next j
    End If
    End Sub
    J'ai 2 choix de recherches, c'est pour ça que j'ai un Elseif.

    C'est dans l'userform "Composant_trouvé" que je cherche à mettre mes données des textbox.
    J'espère que ça pourra éclaircir ma demande

  4. #4
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    puique tu sélectionnes la ligne ou se trouve les données
    alors lorsque tu initializes ton userform si ta textbox s'appelle bien "Devicetxt" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Devicetxt.value = Range("A" & Selection.Row).Value
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci infiniment, ça marche super bien !
    Merci pour ton aide !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/02/2014, 11h15
  2. [XL-2007] Mettre des valeurs de cellules dans un textbox
    Par Lelldorin dans le forum Excel
    Réponses: 1
    Dernier message: 29/04/2013, 10h37
  3. [AC-2007] Mettre des valeurs de requete dans des TextBox
    Par tokagero dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/06/2011, 14h18
  4. Excel - Mettre des valeurs dans les cellules
    Par shuya dans le forum Débuter
    Réponses: 1
    Dernier message: 10/02/2009, 09h45
  5. Utiliser des valeur de cellule dans un userform
    Par swissmade dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/07/2007, 19h38

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