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 :

Problème affichage TextBox via spinButton [XL-2016]


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
    Avril 2021
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2021
    Messages : 12
    Par défaut Problème affichage TextBox via spinButton
    Bonjour à toute la communauté !!
    Je suis nouveau sur ce forum et je débute aussi depuis quelques jours le language VBA donc j'espère que j'arriverai à trouver ici les solutions à mes problèmes car ils s'élèvent au nom de 2.

    Le premier traite de l'affichage d'une textBox. J'aimerai en effet, grâce à un spinbutton changer le texte affiché dans une textbox. Dans le classeur mis en PJ, un tableau à une colonne contient plusieurs valeurs (A. , B. , C. etc ) et j'aimerai que quand on appuie sur la flèche descendante du spinbutton, la textbox affiche la valeur suivante du tableau ("B."). Puis quand on réappuie sur la flèche descendante, que la texte box affiche "C." et ainsi de suite. Et dans le cas où on appuie sur la flèche ascendante, cela revienne à la valeur précédente.

    Le deuxième problème que je rencontre et qui est plus complexe je pense et à propos d'une ListBox. J'aimerai exporter depuis excel LES lignes sélectionnées par l'utilisateur d'une ListBox vers un signet se trouvant dans un document word déjà ouvert. J'arrive à exporter une ligne de la listBox vers le signet Word mais pas plusieurs lignes de la listBox. Quel est le code VBA qu'il faut écrire pour pouvoir exporter toutes les lignes sélectionnées par l'utilisateur ?

    Je joins les deux classeur excel ainsi que des captures des problèmes.

    Merci d'avance pour l'aide que vous pourrez m'apporter. En espérant que certains pourront m'aider
    Images attachées Images attachées   
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par bilbin Voir le message
    J'aimerai en effet, grâce à un spinbutton changer le texte affiché dans une textbox.
    Tu n'as pas très bien compris le fonctionnement du 'spinbutton' dont il te faut fixer la valeur minimum à la plus petite ligne à afficher et maximum à la plus grande dans les propriétés,
    et il ne faut pas lier ta textbox à B3 car sinon tu écrases ton tableau.

    Si ensuite tu mets ce code sur ta feuille cela devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub SpinButton1_Change()
        Me.TextBox1 = ActiveSheet.Range("B" & SpinButton1.Value).Value
    End Sub
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2021
    Messages : 12
    Par défaut
    Bonjour anasecu,

    Je te remercie de ta réponse. En effet, je n'avais pas saisi le fonctionnement du spinbutton. La subtilité du :"B" & SpinButtonValue permet de faire exactement ce que je voulais. Merci pour ces informations qui vont me faire progresser dans mon projet.

    As-tu cependant une idée pour le deuxième problème que j'ai énoncé précédemment ?

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour bilbin,
    Citation Envoyé par bilbin Voir le message
    As-tu cependant une idée pour le deuxième problème que j'ai énoncé précédemment ?
    Si j'ai compris, tu peux essayer ceci si ton code envoie déjà une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim i As Long
    Dim envoi As String
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) Then
                envoi = envoi & ListBox1.List(i) & vbLf
            End If
        Next i
        Word.ActiveDocument.Bookmarks("warning").Range = envoi

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2021
    Messages : 12
    Par défaut
    Bonsoir anasecu,

    Merci de ce retour rapide et fonctionnel !! J'ai intégré ce bout de code à celui que j'avais déjà fait et ça marche !!

    Deux dernières questions : pourquoi avoir mis le -1 au ListCount -1 ? (ligne 3 de votre code précédant)
    Le "& vblf" utilisé à la fin de la ligne de code 5 a quelle fonction ?

    En tout cas, merci encore pour cette précieuse aide et bonne continuation

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir,

    pourquoi avoir mis le -1 au ListCount -1 ?

    L'index de la listbox commence à zéro (For i = 0 To) mais le compteur commence à 1
    et donc si tu as 6 lignes il faut aller de 0 à 5

    Le "& vblf" utilisé à la fin de la ligne de code 5 a quelle fonction ?

    le Visual Basic Line Feed, vblf rajoute simplement un saut de ligne après chaque élément car sinon tes sélections se seraient retrouvées collées sans espace de séparation.

    C'est parfait d'essayer de comprendre ce que tu fais dans le code car c'est ainsi que l'on progresse : bonne continuation.

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

Discussions similaires

  1. Problème affichage Textbox
    Par axel56 dans le forum VB.NET
    Réponses: 2
    Dernier message: 02/06/2013, 12h29
  2. problème affichage textbox
    Par kensem dans le forum C#
    Réponses: 4
    Dernier message: 04/10/2010, 10h13
  3. [CR XI] Problème affichage - Uniquement via Viewer
    Par soshell dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 23/04/2009, 11h35
  4. [VBA] - Problème affichage Textbox
    Par Jeyjey1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/11/2007, 18h09

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