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 :

Remplir un TextBox avec deux colonnes


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Remplir un TextBox avec deux colonnes
    Bonjour, j'ai un problème je n'arrive pas a rentrer les valeurs des cellules dans un textBox.

    J'aimerai que le contenu des cellules A4 a b119 soient renseigner dans un textbox

    Merci,

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 931
    Points : 5 152
    Points
    5 152
    Par défaut
    bonsoir
    rendre la propriété multiline de ton textbox sur VRAI
    et essaye avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub UserForm_Activate()
    For x = 1 To 2
        Select Case x
            Case 1
                Me.TextBox1 = Me.TextBox1 & Cells(4, 1) & Chr(10)
            Case 2
                Me.TextBox1 = Me.TextBox1 & Cells(119, 2) & Chr(10)
        End Select
    Next
    End Sub
    ou bien tout simplement si te dérange pas une seule ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Activate()
    Me.TextBox1 = Cells(4, 1) & "  " & Cells(119, 2)
    End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Si tu as Excel 2016, tu peux utiliser la fonction CONCAT avec un WorksheetFunction.
    https://support.office.com/fr-FR/art...6-694cbd6b4ca2
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 724
    Points : 1 454
    Points
    1 454
    Par défaut
    Pardonnez moi de m'insérer, mais si dans le textbox précédemment cité, je voulais entrer les valeurs des cellules (A1:B3), j'ai essayé, mais je n'arrive pas?
    On a deux vies, la deuxième commence quand on se rend compte qu'on n'en a qu'une.
    Confucius

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 430
    Points
    12 430
    Par défaut
    Bonjour
    Il serait bon d'exposer avec la plus grande précision le but à atteindre.
    J'aimerai que le contenu des cellules A4 a b119 soient renseigner dans un textbox
    complété par le titre :
    Remplir un TextBox avec deux colonnes
    est assez ambigü.
    on a du mal à déterminer avec une totale assurance s'il s'agit :
    1) de répartir sur "deux (pseudo) colonnes" d'une textbox les données en provenance de deux colonnes d'une plage de cellules
    ou
    2) de concaténer sur plusieurs lignes de la textbox et dans l'ordre des lignes de la plage traitée, les données en provenance de deux colonnes d'une plage de cellules
    ou
    3) de mettre dans la textbox, les unes à la suite des autres, les données en provenance de la première colonne de la plage de cellules suivies de celles de la seconde colonne.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Merci Jaques je pensais que mes facultés intellectuel me permettaient plus de résoudre ce genre de problème!

    À moins que les tiennes ... On est d'accord!

    De plus concaténer A4 a b119 en vrai roman dans une textbox c'est inexploitable quel intérêt ?

    C'est le contenu de deux colonnes ou c'est le textebox qui à deux colonnes?

    Si c'était un listebox?
    Dernière modification par Invité ; 11/03/2018 à 10h10.

  7. #7
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 724
    Points : 1 454
    Points
    1 454
    Par défaut
    En effet, moi j'avais compris qu'il voulait entrer dans un textbox les valeur des cellules de A3 a b119.
    J'ignorais si c'est possible. pour ma part, j'utiliserais plutôt une listbox avec deux colonnes. J'avoue que je ne vois pas l'intérêt d'une texbox?
    Mais j'avoue mon manque de compétence en la matière. Comme on disait chez Compaq "affaire à suivre"
    On a deux vies, la deuxième commence quand on se rend compte qu'on n'en a qu'une.
    Confucius

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    peut etre veut il simplement créer un texte intelligible juste pour un visuel créé avec les données des cellules
    presspapier robert !!! et hop un replace sur vbtab par " "
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour Patrick,
    Oui peut-être c'est pour cela que des explications s'impose à mon sans

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour, et merci de vos réponses,

    désolé de pas avoir bien clarifié mon problème, donc j'aimerais que sa affiche dans ma textbox

    A4 B4
    A5 B5
    .... ....
    A119 B119

    Voila j'espere que tu arriveras mieux a comprendre, merci

  11. #11
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 931
    Points : 5 152
    Points
    5 152
    Par défaut
    Bonjour
    essaye avec un listbox et non pas un textbox
    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
     
    Private Sub UserForm_Initialize()
     
    Dim i As Integer
     With Sheets("feuil1")
     j = 0
        For i = 4 To 119
        UserForm1.ListBox1.ColumnCount = 2
        UserForm1.ListBox1.ColumnWidths = "80;80"
        UserForm1.ListBox1.AddItem
        UserForm1.ListBox1.Column(0, j) = .Cells(i, 1)
        UserForm1.ListBox1.Column(1, j) = .Cells(i, 2)
        j = j + 1
    Next i
    End With
    End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour

    Ok ca n'est donc que pour du visuel tu ne dois pas t'en servir pour selectionner

    dans ce cas comme je te l'ai dis precedement "presse papier"

    a mettre en haut de un de tes module standard tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public Property Get presse_papier() As String
    presse_papier = Replace(CreateObject("htmlfile").parentwindow.clipboardData.GetData("TEXT"), vbTab, " ")
    End Property
    et dans le code de ta macro ou meme dans le userform en changeant le nom du userform dans mon exemple bien sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("A1:B119").Copy
    userform1.textbox1.value= presse_papier
    Application.CutCopyMode = False
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci c'est exactement ce que je voulais !

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    j'ai fait un petit oubli
    je l'ai mis en public au cas ou tu l'utiliserait dans une macro ou code ailleurs que dans le module ou presse_papier se trouve

    si tu met tout dans le userform enleve le public bien sur

    dyshortograpie pourra te donner un exemple du meme type avec un autre object que celui que j'utilise le "Dataobject"

    perso je prefere celui la parce que je ne suis pas obligé de créer un "property Let presse_papier" car avec cet object il faut mettre le contenu dedans tandis qu'avec cet object("htmlfile" ) j'ai acces au clipbord window
    avec le mien le simple fait de copier le texte est deja a l'interieur
    tu trouvera dans les contributions diverses facons de l'utiliser robert(dyshortographie) et moi avons mis des exemples concrets
    a+
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #15
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 430
    Points
    12 430
    Par défaut
    Bonjour
    Je partage l'avis de l'utilisation d'une listbox.
    Si l'on tient toutefois à afficher cela dans une textbox en prenant soin d' "aligner" les deux "colonnes, cela est possible ainsi
    - la textbox doit être multiline
    - la police de la textbox doit être à espacement fixe ("Courier", par exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     dl = Range("A" & Rows.Count).End(xlUp).Row
      nbmaxcola = 10 ' --->> indiquer ici un nombre au moins égal au nombre maximum de caractères des données en colonne A
      sep = "  " ' --->> indiquer ici le nombre d'espaces devant séparer les deux "colonnes"
      TextBox1.Text = ""
      For i = 4 To dl
        'TextBox1.SelText = Format(Range("A" & i).Text & "  ", String(nbmaxcola + Len(sep), "@")) & Range("B" & i).Value & vbCrLf
       TextBox1.SelText = Range("A" & i).Text & String(nbmaxcola - Len(Range("A" & i).Text) + Len(sep), " ") & Range("B" & i).Value & vbCrLf
      Next
    deux possibilités d'affichage selon la ligne que l'on "garde" des lignes 6 et 7 de ce code.

    EDIT : L'intérêt est que de l'une ou l'autre de ces deux manières, on visualise très confortablement ce que contiennent chacune des deux colonnes. Ceci a son importance lorsque, par exemple, la colonne A contient des patronymes contenant un ou plusieurs espaces

    EDIT 2 : il peut être intéressant de savoir que, contrairement à ce que l'on pourrait penser, passer par le presse-papier n'accélère rien. Je viens de tester -->> Un très léger avantage est même présent en utilisant une boucle.
    Et il est possible (toujours en boucle), de diminuer carrément de moitié le temps de traitement, en bouclant sur un tableau dynamique plutôt que sur la plage, ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dl = Range("A" & Rows.Count).End(xlUp).Row
      tabl = Range("A4:B" & dl)
      nbmaxcola = 16
      sep = ""
      TextBox1.Text = ""
      For i = 1 To UBound(tabl)
        TextBox1.SelText = Format(tabl(i, 1) & "  ", String(nbmaxcola + Len(sep), "@")) & tabl(i, 2) & vbCrLf
       'TextBox1.SelText = tabl(i, 1) & String(nbmaxcola - Len(tabl(i, 1)) + Len(sep), " ") & tabl(i, 2) & vbCrLf
      Next
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

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

Discussions similaires

  1. Tables partitionnées avec deux colonnes
    Par frsof dans le forum Administration
    Réponses: 2
    Dernier message: 28/04/2008, 09h43
  2. Remplir une ComboBox avec DEUX colonnes (ou plus ^_^)
    Par DashRendar dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/02/2008, 08h54
  3. Réponses: 1
    Dernier message: 03/07/2007, 18h18
  4. requete d'insertion avec liste déroulantes avec deux colonnes
    Par maxeur dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 25/01/2007, 14h56
  5. [VBA-A]Remplir une textbox avec des données de tables.
    Par cuicui08 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2006, 10h28

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