TextBox

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

  • Fichier.xls
    29.5 KB · Affichages: 42
  • Fichier.xls
    29.5 KB · Affichages: 45
  • Fichier.xls
    29.5 KB · Affichages: 49
A

Alex

Guest
Re salut à tous

Je ne sais pas si c'est la faim, mais j'ai trouvé quelque chose qui marche, alors si cela peut interesser quelqu'un il ne faut pas ésiter .

Bonne appetit le forum

A+
 

Pièces jointes

  • Fichier.xls
    47 KB · Affichages: 46
  • Fichier.xls
    47 KB · Affichages: 51
  • Fichier.xls
    47 KB · Affichages: 52
@

@+Thierry

Guest
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
 
@

@+Thierry

Guest
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
 
@

@+Thierry

Guest
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
 

Discussions similaires

Réponses
50
Affichages
5 K

Statistiques des forums

Discussions
312 779
Messages
2 092 044
Membres
105 162
dernier inscrit
djikon