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 :

mise à jour de texte d'une zone de texte insérée dans une feuille Excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut mise à jour de texte d'une zone de texte insérée dans une feuille Excel
    Bonjour tout le monde,

    J'aimerais savoir savoir si c'est possible de mettre à jour le contenu d'une zone de texte.

    Je m'explique:
    J'ai un userform où l'utilisateur choisit les données à insérer dans une zone de texte sur sa feuille A d'Excel.
    Ces données sont choisies à partir de combobox "thématiques".

    Il sélectionne d'abord un équipement dans une combobox, puis il sélectionne les paramètres correspondants à cet équipement
    qu'il désire écrire dans une textbox.

    A chaque fois qu'il ajoute un paramètre, celui-ci s'affiche sur une listbox, qui sert en quelque sorte d'aperçu de la future zone de texte à insérer sur sa feuille de calcul.


    voici un bout de code:

    'ça c'est l'action qui est exécutée quand j'appuie sur mon bouton InsertTxtBox pour insérer la zone de texte sur ma feuille
    'puis il efface les données dans la listbox pour recommencer l'insertion d'une nouvelle zone de texte.

    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
    Private Sub InsertTxtBox_Click()
    
        Dim nb_elements, i   As Integer
        Dim s As String
    
        nb_elements = Me.ListBox.ListCount
    
    'Ecriture des valeurs des paramètres sélectionnés dans les combobox    For i = 0 To nb_elements - 1
          If i = 0 Then
            s = ListBox.List(0)
            Else
            s = s & Chr(10) & ListBox.List(i)  'pour les écrire une ligne arpès l'autre      End If
        Next i
       
       'là j'insère ma textbox   Worksheets("PFD").Shapes.AddTextbox(msoTextOrientationHorizontal, 115.5, 257.25, _
            89.25, 57#).Select
    
       'j'y insère le texte de ma listbox    Selection.Text = s
        Selection.autosize = True
        With Selection.Characters(Start:=1, Length:=8).Font
            .Name = "Arial"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
            
        End With
        
        Selection.ShapeRange.Fill.Visible = msoFalse
        Selection.ShapeRange.Line.Visible = msoFalse
        
        'pour effacer le contenu de ma listbox    Call deleteListboxAll
    
    End Sub
    Comme ces données sont prises sur une autre feuille B du classeur, et donc sujettes à modification si on change des données de cette feuille B,
    comment faire pour que quand on change certaines données de cette feuille B, les données écrites dans la zone de texte insérée dans la feuille A soient automatiquement changées si elles ont été modifiées dans la feuille B ?

    Est-ce qu'il y aurait un moyen d'introduire une sorte de marqueur pour savoir quels paramètres j'ai insérés dans chaque zone de texte,
    et par conséquent pouvoir mettre à jour leur valeur chaque fois qu'elle est modifiée dans la feuille B ?

    Merci beaucoup d'avance

    Si je n'ai pas été claire, n'hésitez pas à me demander plus de détails!

    Pour le code, utiliser le bouton #Tu sélectionnes ton code, un clic sur le bouton et c'est bon
    Ajouté par ousk'

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Regarde OLEObjects dans l'aide et reviens-nous

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    ok, mais tu pourrais me dire comment utiliser autoUpdate ? ou LinkedCell pour une textbox?

    N'y aurait il pas un moyen de revenir à l'utilisation des textbox de type Shape et non de type Control ?

    Merci

Discussions similaires

  1. [AC-2013] Mise en Gras dans une zone de texte
    Par zkunk dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/04/2015, 19h42
  2. Réponses: 2
    Dernier message: 28/06/2014, 22h52
  3. Réponses: 1
    Dernier message: 28/06/2013, 20h35
  4. Réponses: 1
    Dernier message: 04/05/2012, 16h17
  5. Réponses: 18
    Dernier message: 24/01/2010, 07h40

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