• Initiateur de la discussion Initiateur de la discussion Alex
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Alex

Guest
Bonjour à tous

J’ai un petit problème avec un fichier, j’aimerai mettre des TextBox sur une image d’une carte géographique pour avoir des valeurs qui sont contenus dans un autre onglet que j’utilise comme base.
Le but serait qu’à l’ouverture du fichier les valeurs apparaissent et qu’il soient mis à jour.
J’ai mis le code dans Thisworkbooks mais il doit me manquer quelque chose, mais quoi ??

Merci pour votre aide
A+
 

Pièces jointes

Salut Alex, le Forum

J'ai regardé tes péripéties, et donc heureux que tu aies trouvé par toi-même ta solution.

Ceci dit, vu que tu écris que c'est un horrible brouillon.... Je suppose que tu vas avoir beaucoup plus de textBox... Voici un moyen d'en gérer jusqu'à 999 avec une simple boucle au cas où ... Plutôt que d'écrire ceci :

TextBox1.Text = Sheets("Data").Range("B1").Value
TextBox2.Text = Sheets("Data").Range("B2").Value
TextBox3.Text = Sheets("Data").Range("B3").Value
TextBox4.Text = Sheets("Data").Range("B4").Value
TextBox5.Text = Sheets("Data").Range("B5").Value


Voici la boucle "magique" ! (lol) .... Seule condition tes TextBox s'appellent toutes TextBox avec un numéro... Et ce numéro sera celui de la celulle B(i)...


Option Explicit

Public Sub Valeurs_Change()
Dim CTRL As OLEObject
Dim i As Byte


For Each CTRL In Me.OLEObjects
If CTRL.ProgId = "Forms.TextBox.1" Then
Select Case Len(CTRL.Name)
Case 8: i = CByte(Right(CTRL.Name, 1))
Case 9: i = CByte(Right(CTRL.Name, 2))
Case 10: i = CByte(Right(CTRL.Name, 3))
End Select
With Sheets("Data")
CTRL.Object.Text = .Range("B" & i)
End With
End If
Next CTRL

End Sub


Si tu as beaucoup de TextBox sur ta Map....... Tu vas apprécier !!!

Bonne Nuit
@+Thierry
 
Par Contre du coup j'ai oublié mon idée première en voyant tes posts...

C'est très bien de faire partager tes solutions, mais stp penses à Zipper tes fichiers, car la place de stockage finira par manquer un jour pour le forum...

Bonne Nuit
@+Thierry
 
PS ...

Erratum, j'ai menti en disant jusqu'à 999 TextBoxs...

i as Byte et Cbyte restera valable jusqu'à 255 TextBox.... Ensuite faudra passer en Integer (Dim i as Interger......... Cint(Right(CTRL.Name, 3))

@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour