Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

nom relatif pour un textbox ! ouh la la KOIKCESA

12 réponses
Avatar
denis le breton
Nouveau défi

dans mon fichier excel en A1 j'ai "Titre de l'INFO"
dans mon fichier excel en B1 j'ai "INFO: blabla"

dans mon userform VOIR j'ai un textbox nommé Type1
dans mon userform VOIR j'ai un textbox nommé Type2

Comment puis en VBA faire une boucle
for bou = 1 to 2
'pour dire
VOIR.type&bou.value = range(bou,1).value
net bou
'suite de la macro qui bien prend bien plus de 2 cas

10 réponses

1 2
Avatar
anomymousA
bonjour,

en supposant bien sur que Me fasse référence au Userform en cours

For Each ctl In Me.Controls
If Me.ctl.Name = "TextBox1" Then
Me.ctl.Value = Sheets("Feuil1").Cells(1, 1).Value
End If
Next

La procédure précdédente est faite pour une recherche sur 1 seul controle.
elle peut evidemment etre étendue à plusieurs .Faire ensuite des selectCase
suivant le nom du controle


Je n'ai pas testé ta procédure mais il me semble que range(bou,1).value
n'est pas une définition correcte de référence à un objet range.C'est
peut-être que ça qui ne focntionne pas d'ailleurs.

A+



Nouveau défi

dans mon fichier excel en A1 j'ai "Titre de l'INFO"
dans mon fichier excel en B1 j'ai "INFO: blabla"

dans mon userform VOIR j'ai un textbox nommé Type1
dans mon userform VOIR j'ai un textbox nommé Type2

Comment puis en VBA faire une boucle
for bou = 1 to 2
'pour dire
VOIR.type&bou.value = range(bou,1).value
net bou
'suite de la macro qui bien prend bien plus de 2 cas


Avatar
Michel Gaboly
Bonjour,

Dans le Initialize borne maxi à adapter) :

For i = 1 to 10
Controls("Type" & i) = Range("A1").offset(0, i - 1)
Next i

C'est tout ;-)) Ni VOIR, ni .Value ne sont nécessaires, mais il est nécessaire
que la feuille contenant les données soit la feuille active, ou sinon, il faut
qualifier l'objet Range.

Nouveau défi

dans mon fichier excel en A1 j'ai "Titre de l'INFO"
dans mon fichier excel en B1 j'ai "INFO: blabla"

dans mon userform VOIR j'ai un textbox nommé Type1
dans mon userform VOIR j'ai un textbox nommé Type2

Comment puis en VBA faire une boucle
for bou = 1 to 2
'pour dire
VOIR.type&bou.value = range(bou,1).value
net bou
'suite de la macro qui bien prend bien plus de 2 cas



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
denis le breton
Merci Michel d'avoir bien voulu jeter un oeil

hélas j'ai en retour un sub ou fonction non définie ...


Bonjour,

Dans le Initialize borne maxi à adapter) :

For i = 1 to 10
Controls("Type" & i) = Range("A1").offset(0, i - 1)
Next i

C'est tout ;-)) Ni VOIR, ni .Value ne sont nécessaires, mais il est nécessaire
que la feuille contenant les données soit la feuille active, ou sinon, il faut
qualifier l'objet Range.

Nouveau défi

dans mon fichier excel en A1 j'ai "Titre de l'INFO"
dans mon fichier excel en B1 j'ai "INFO: blabla"

dans mon userform VOIR j'ai un textbox nommé Type1
dans mon userform VOIR j'ai un textbox nommé Type2

Comment puis en VBA faire une boucle
for bou = 1 to 2
'pour dire
VOIR.type&bou.value = range(bou,1).value
net bou
'suite de la macro qui bien prend bien plus de 2 cas



--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
denis le breton
Merci aA pour cette tentative mais hélas j'ai en retour
membre de méthode ou de données introuvable
je tourne en boucle mais mon code reste stoïque et inflexible

A+
Denis

bonjour,

en supposant bien sur que Me fasse référence au Userform en cours

For Each ctl In Me.Controls
If Me.ctl.Name = "TextBox1" Then
Me.ctl.Value = Sheets("Feuil1").Cells(1, 1).Value
End If
Next

La procédure précdédente est faite pour une recherche sur 1 seul controle.
elle peut evidemment etre étendue à plusieurs .Faire ensuite des selectCase
suivant le nom du controle


Je n'ai pas testé ta procédure mais il me semble que range(bou,1).value
n'est pas une définition correcte de référence à un objet range.C'est
peut-être que ça qui ne focntionne pas d'ailleurs.

A+



Nouveau défi

dans mon fichier excel en A1 j'ai "Titre de l'INFO"
dans mon fichier excel en B1 j'ai "INFO: blabla"

dans mon userform VOIR j'ai un textbox nommé Type1
dans mon userform VOIR j'ai un textbox nommé Type2

Comment puis en VBA faire une boucle
for bou = 1 to 2
'pour dire
VOIR.type&bou.value = range(bou,1).value
net bou
'suite de la macro qui bien prend bien plus de 2 cas




Avatar
denis le breton
de fait un erreur s'est subrpticement glissée dans le modeste code ci-dessus
vers la fin lire
VOIR.type&bou.value = cells(bou,1).value
et ce qui bloque c'est comment définir le nom d'un textbox existant composé
d'un libellé générique et suivi d'une valeur numérique ?


Nouveau défi

dans mon fichier excel en A1 j'ai "Titre de l'INFO"
dans mon fichier excel en B1 j'ai "INFO: blabla"

dans mon userform VOIR j'ai un textbox nommé Type1
dans mon userform VOIR j'ai un textbox nommé Type2

Comment puis en VBA faire une boucle
for bou = 1 to 2
'pour dire
VOIR.type&bou.value = range(bou,1).value
net bou
'suite de la macro qui bien prend bien plus de 2 cas


Avatar
anomymousA
re,

je suis surpris que cette procédure plante sauf si il existe un controle qui
s'appelle TextBox1 et qui ne possède pas de propriété Value ce qui est encore
possible.
Peux-tu me dire où la procédure se plante et sur quel controle STP ?

A+


Merci aA pour cette tentative mais hélas j'ai en retour
membre de méthode ou de données introuvable
je tourne en boucle mais mon code reste stoïque et inflexible

A+
Denis

bonjour,

en supposant bien sur que Me fasse référence au Userform en cours

For Each ctl In Me.Controls
If Me.ctl.Name = "TextBox1" Then
Me.ctl.Value = Sheets("Feuil1").Cells(1, 1).Value
End If
Next

La procédure précdédente est faite pour une recherche sur 1 seul controle.
elle peut evidemment etre étendue à plusieurs .Faire ensuite des selectCase
suivant le nom du controle


Je n'ai pas testé ta procédure mais il me semble que range(bou,1).value
n'est pas une définition correcte de référence à un objet range.C'est
peut-être que ça qui ne focntionne pas d'ailleurs.

A+



Nouveau défi

dans mon fichier excel en A1 j'ai "Titre de l'INFO"
dans mon fichier excel en B1 j'ai "INFO: blabla"

dans mon userform VOIR j'ai un textbox nommé Type1
dans mon userform VOIR j'ai un textbox nommé Type2

Comment puis en VBA faire une boucle
for bou = 1 to 2
'pour dire
VOIR.type&bou.value = range(bou,1).value
net bou
'suite de la macro qui bien prend bien plus de 2 cas






Avatar
denis le breton
Il semble que name ne fasse pas partie de la collection controls
voici le bout de code réel que j'ai re-travaillé
col = 3 'valeur fixée pour test
For bou = 1 To col
nomcontr = "Typeinfo" & col
For Each ctl In option_page1.Controls
If option_page1.Controls.Name = nomcontr Then
option_page1.Controls.Value = ActiveSheets.Cells(col, 1).Value
End If
Next
Next
(celui passe le cap de la compilation)
Merci de ta patience
Denis

re,

je suis surpris que cette procédure plante sauf si il existe un controle qui
s'appelle TextBox1 et qui ne possède pas de propriété Value ce qui est encore
possible.
Peux-tu me dire où la procédure se plante et sur quel controle STP ?

A+


Merci aA pour cette tentative mais hélas j'ai en retour
membre de méthode ou de données introuvable
je tourne en boucle mais mon code reste stoïque et inflexible

A+
Denis

bonjour,

en supposant bien sur que Me fasse référence au Userform en cours

For Each ctl In Me.Controls
If Me.ctl.Name = "TextBox1" Then
Me.ctl.Value = Sheets("Feuil1").Cells(1, 1).Value
End If
Next

La procédure précdédente est faite pour une recherche sur 1 seul controle.
elle peut evidemment etre étendue à plusieurs .Faire ensuite des selectCase
suivant le nom du controle


Je n'ai pas testé ta procédure mais il me semble que range(bou,1).value
n'est pas une définition correcte de référence à un objet range.C'est
peut-être que ça qui ne focntionne pas d'ailleurs.

A+



Nouveau défi

dans mon fichier excel en A1 j'ai "Titre de l'INFO"
dans mon fichier excel en B1 j'ai "INFO: blabla"

dans mon userform VOIR j'ai un textbox nommé Type1
dans mon userform VOIR j'ai un textbox nommé Type2

Comment puis en VBA faire une boucle
for bou = 1 to 2
'pour dire
VOIR.type&bou.value = range(bou,1).value
net bou
'suite de la macro qui bien prend bien plus de 2 cas








Avatar
Michel Gaboly
Re,

Marche très bien chez moi, peux t'envoyer un classeur si tu veux.

Private Sub UserForm_Initialize()
For i = 1 To 3
Controls("Type" & i) = Range("A1").Offset(0, i - 1)
Next i
End Sub
Avatar
denis le breton
hou la ! hou la !
Remettons un peu d'ordre.
1 grand merci de consacrer de ton temps précieux à ce modeste problème mais
il vrai que ce modeste problème me prend la tête
2 j'ai contourné le problème en duplicant jusqu'à plus soif un bout de code
3 j'ai bien envie de comprendre comment ça marche
alors à partir du 3 des questions
le bout de code qui marche chez toi il est où ? (Dans un module je suppose !
Pas dans un userform, à moins que ...)
le but pout moi est d'avoir dans un fichier excel, les UF, les modules, les
macros
dans un module je charge un fichiel N° 2 et c'est avec les données de ce
fichier N°2 que je rempli les textbox(s) de mon UF
bien sur le fichier n°2 y a plusieurs il faut donc que dans mon module je
prenne cela en compte (d'où une boucle)
Et puis après je fais encore d'autrs petites bétises dessus avec des select
case, etc

bref bla bla et bla bla je veux bien que tu m'envoie ton fichier pour que
je voies comment qu'il est fait, et là peut être que dans mon esprit embrumé
un légère lueur apparaîtra (ça c'est pas sur)
essayons quand même



Re,

Marche très bien chez moi, peux t'envoyer un classeur si tu veux.

Private Sub UserForm_Initialize()
For i = 1 To 3
Controls("Type" & i) = Range("A1").Offset(0, i - 1)
Next i
End Sub



Avatar
Michel Gaboly
Re,

Si justement, le code doit être dans le module associé au UserForm

Cela permet d'avoir directement accès à la collection Controls et à tous les
Controles (TextBox, CommandButton, ListBox, ...)

Classeur parti.

hou la ! hou la !
Remettons un peu d'ordre.
1 grand merci de consacrer de ton temps précieux à ce modeste problème mais
il vrai que ce modeste problème me prend la tête
2 j'ai contourné le problème en duplicant jusqu'à plus soif un bout de code
3 j'ai bien envie de comprendre comment ça marche
alors à partir du 3 des questions
le bout de code qui marche chez toi il est où ? (Dans un module je suppose !
Pas dans un userform, à moins que ...)
le but pout moi est d'avoir dans un fichier excel, les UF, les modules, les
macros
dans un module je charge un fichiel N° 2 et c'est avec les données de ce
fichier N°2 que je rempli les textbox(s) de mon UF
bien sur le fichier n°2 y a plusieurs il faut donc que dans mon module je
prenne cela en compte (d'où une boucle)
Et puis après je fais encore d'autrs petites bétises dessus avec des select
case, etc

bref bla bla et bla bla je veux bien que tu m'envoie ton fichier pour que
je voies comment qu'il est fait, et là peut être que dans mon esprit embrumé
un légère lueur apparaîtra (ça c'est pas sur)
essayons quand même




Re,

Marche très bien chez moi, peux t'envoyer un classeur si tu veux.

Private Sub UserForm_Initialize()
For i = 1 To 3
Controls("Type" & i) = Range("A1").Offset(0, i - 1)
Next i
End Sub





--
Cordialement,

Michel Gaboly
www.gaboly.com


1 2