Alimenter un formulaire (textboxn) à partir d'une feuille contenant une ligne

  • Initiateur de la discussion Initiateur de la discussion Geoffroy
  • 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 !

G

Geoffroy

Guest
Bonjour,

J'aimerai Alimenter mon formulaire à partir d'une feuille excel contenant des informations sur la première ligne (et non l'inverse).

Exemple: Feuill1
5;5;6;7;4;...etc... sur la ligne 1.

Code VBA:

Dim Mabox

Load frm1 (nom de formulaire)

For i = 0 To 5 ' de la colonne 0 à la colonne 5
j = i + 1
Mabox = "frm1.TextBox" & j 'Nom de la textbox correspondant à la valeur
Mabox = Worksheets("infrastructure").Range("A1").Offset(0, i).Value
Next
frm1.Show

Merci d'avance, ci-dessus cela ne fonctionne pas. Pas de message d'erreur.
 
Salut Geoffroy et le forum,

Si je comprends bien tu veux alimenter 5 textbox à partir de de la ligne 1 de la colonne B à F, pas besoin de boucle : dans l'initialize mets ceci

textbox1=Worksheets("infrastructure").Range("B1")
textbox2=Worksheets("infrastructure").Range("C1")
...

textbox5=Worksheets("infrastructure").Range("F1")


sinon reviens avec un exemple zippé ou plus d'explications.

A+++
 
Merci de m'avoir répondu ZON, mais en fait j'ai besoin de récupérer 64 valeurs et non 5. (5 c t à titre d'exemple)
En fait mes valeurs sont disposées sur la premières ligne et sur 64 colonnes. (De A1 à BL)
J'ai aussi 64 textbox de créés de Textbox1 à TextBox64.

Donc j'essaye de faire une boucle qui récupère le contenu le la cellule (n) dans la textBox (n) quelque soit la valeur de la cellule.

Exemple: textbox1=Worksheets("infrastructure").Range("A1")
textbox(n)=Worksheets("infrastructure").Range("A1").Offset(0, n).Value
Mais je vais pas m'amuser à taper les 64 textbox, donc je voyais un intérêt dans une boucle.


Dois déclarer la variable Mabox As TextBox ?? ou autre chose ?

Je ne peux mettre le fichier à dispo car il dépasse 50ko meme compressé.

Merci pour tout, et encore merci ZON et le forum.
 
Et bien après adaptation, cela ne fonctionne toujours pas. J'ai une erreur d'execution 13 (type incompatible) sur la ligne :

for each C in Me.controls

Mon Adaptation :

Sachant que mon USF se nomme frm1:

Dim C As msforms.TextBox
Dim I As Byte

I = 1 ' à adapter
Load frm1
For Each C In frm1.Controls
C = TextBox1 = Worksheets("infrastructure").Cells(1, I): I = I + 1
Next C


Merci quand meme, j'ai finalement ecris les 64 lignes en code, c'est un peu barbarre mais je n'ai que de très peu de temps devant moi.


Mille Merci. A+
 
Re,

désolé Geoffroy de t'avoir fait perdre du temps, j'aurais du me relire il y a textbox1 qui a rien à faire, du coup j'ai testé cette fois , c'est ok chez moi, il faut remplacer

C = TextBox1 = Worksheets("infrastructure").Cells(1, I): I = I + 1 par C=Worksheets("infrastructure").Cells(1, I): I = I + 1

A+++
 
Salut ZON,

Merci pour la soluce, mais j'ai trouvé ceci : (je le donne pour info pour tout le monde )

1) alimenter un feuille excel à partir de plusieurs textbox sur une ligne de la feuill1 :

Code suivant à mettre dans le code du UserForm :

For Each Mabox In Controls
If Left(Mabox.Name, 7) = "TextBox" Then
I = Right(Mabox.Name, Len(Mabox.Name) - 7)
Worksheets("Feuill1").Range("A1").Offset(ligne, I - 1) = Mabox
End If
Next

Exemple:
La feuille 1 contiendra : 1|2|3|4....etc....N pour TextBox(N)

2) alimenter plusieurs textbox à partir de la feuill1 sur la ligne 1 :

Code suivant à mettre dans le code du UserForm :

For Each Mabox In Controls
If Left(Mabox.Name, 7) = "TextBox" Then
I = Right(Mabox.Name, Len(Mabox.Name) - 7)
Mabox.Value = Worksheets("infrastructure").Range("A1").Offset(ligne, I - 1).Value
End If
Next

Attention: les TextBox doivent avoir le meme nom :
exemple: TotoBox1, TotoBox2, TotoBox3 ...etc...TotoBox(N)

Je n'ai pas eu le temps de tester ta solution, mais je te remercie grandement pour ton aide et merci au forum.
 
- 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

Réponses
5
Affichages
707
Réponses
2
Affichages
332
Retour