Je suis dans un forme
j'ai donc testé ton code (mon form s'appel Opération)
Objet spécifié introuvable :(Code:
1
2 Set MonTextBox = Opération.Controls(Lecontrol) 'Maform : Nom de ton form
Version imprimable
Je suis dans un forme
j'ai donc testé ton code (mon form s'appel Opération)
Objet spécifié introuvable :(Code:
1
2 Set MonTextBox = Opération.Controls(Lecontrol) 'Maform : Nom de ton form
object.Controls(index)
il ne faut pas appeler le nom mais l'index
ok pour l'index jmfmarques. Mias j'ai encore une erreur
Decidément ! :evil:
La propriété .Value n'est pas gérer par l'objet MonTextBox
Ok jmf,
Donc, Nom, tu mets le code dans une boucle dans laquelle tu teste l'index du contrôle selon son nom
Non testé (pas le temps) Tu fais très bien ça...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Jour = Day(Now) LeControl = "TextBox" & cstr(Nocolonne-1) For each Controle in Opération.controls i = i + 1 if .name = LeControl then 'nom de ton contrôle Lindex = i exit for endif Next Set MonTextBox = Opération.controls(Lindex) 'Maform : Nom de ton form With MonTextBox For NoColonne = 2 To 22 If .Text = "" Then Cells("& Jour + 3,NoColonne") = Cells("& Jour + 3,NoColonne") 'le total reste le même Else Cells("& Jour + 3,NoColonne") = Cells("& Jour + 3,NoColonne") + Val(.Text) End If Next End with
A+
NB - il y a sans doute plus simple mais là... time is money :wink:
Edit
Evidemment, value est à remplacer par text et tu en prends la valeur
Erreur corrigée
8O tu peux pas mettre de .Name sans With quelque chose
référence incorecte ou non qualifiéCode:
1
2
3
4
5
6 LeControl = "TextBox" & CStr(NoColonne - 1) For Each Controle In Opération.Controls i = i + 1 If .Name = LeControl Then 'nom de ton contrôle Lindex = i Exit For
j'ai donc rajouté un Controle devant le .Name
en plus toujours le meme problème concerant le .Value :
Propriété non gérer par l'objetCode:
1
2
3
4 Set MonTextBox = Opération.Controls(Lindex) 'Maform : Nom de ton form With MonTextBox For NoColonne = 2 To 22 If .Value = "" Then
J'ai corrigé mon post précédent? C'est text, non pas value. Jète un oeil... :wink:
toujours pareil que ce soit Text ou Value
Pardonnez-moi d'intervenir à nouveau, mais, en dehors de ce que j'ai dit précédemment (en ce qui concernait l'index), je commence à me demander s'il n'y a pas, en plus, une affaire de nom de baptème.
1) Cool pourrait-il, en faisant un copier-coller scrupuleux, insérer ceci comme toute 1ère instruction de l'événement activate de sa Form :
et nous rapporter ce qui s'est affiché ou, au contraire, le message d'erreur reçu ?Code:MsgBox Me.Name & " " & Opération.Name
2) dans :
la recherche commençant ainsi à 1 et pas 0, l'index 0 sera complètement sauté.Code:
1
2
3
4
5
6
7 For each Controle in Opération.controls i = i + 1 if .name = LeControl then 'nom de ton contrôle Lindex = i exit for endif Next
avec le copier coller que tu as demander une fenetre apparait avec afficher Opération Opération
je sais pas si ca va t'aider moi j'avou être un peu perdu :oops:
C'est bon. Cela veut dire que le nom de baptème de ta Form est bien "Opération"
fais maintenant la même chose avec :
et dis-nousCode:MsgBox LeControl.Name
puis avec :
(j'ai un pressentiment..)Code:MsgBox Controls(0).Name
et dis-nous
objet requis
Hé bien voilà ! Lecontrol n'est tout simplement pas le nom que tu as donné à ton contrôle !
Envoie maintenant ceci :
toujours au même endroit et ajoute ceci :Code:MsgBox Controls(0).Name
tout de suite après :Code:Msgbox LeControl
et dis-nousCode:LeControl = "TextBox" & cstr(Nocolonne-1)
je comprend pas
en fesant cela
LeControle n'est il pas le nom de mon controleCode:
1
2 LeControl = "TextBox" & CStr(NoColonne - 1)
ou alors c'est que il y a quelque chose que j'ignore qu'entendez vous par controle ?
Fais-le et dis....
alors
ne marche pas objet requisCode:
1
2 MsgBox LeControl.Name
Label2Code:
1
2 MsgBox Controls(0).Name
etrien enfin fenetre videCode:
1
2 LeControl = "TextBox" & CStr(NoColonne - 1)
donc : est fausse cette partie du code :
qui aurait du te donner quelque chose du genre "Text1 ou "Text2" etc...Code:LeControl = "TextBox" & CStr(NoColonne - 1)
As-tu bien placé ce msgbox là où je te l'ai dit, à savoir ainsi:
:?:Code:
1
2
3
4
5
6 Jour = Day(Now) LeControl = "TextBox" & cstr(Nocolonne-1) msgbox LeControl etc... . .
Couou, me revoilou,
Ce que te dit jmfmarques, c'est que tu n'as pas de textbox nommé textboxNoCol
Quel est ton N° de colonne ?
Donne-nous le nom de ton textbox
A+
Excuse-moi Ouskel : j'ai vu que tu étais ailleurs et ai voulu faire "avancer" le truc...
je me retire maintenant.
Salut
mes TextBox se nomme TextBox1, TextBox2, TextBox3 ...., TextBox21 et je souhaiterai insérer le contenu des TextBox de la colonne B à V donc 2 à 22 (TextBox1 -> colonne2, TextBox2->colonne3,...,Citation:
Couou, me revoilou,
Ce que te dit jmfmarques, c'est que tu n'as pas de textbox nommé textboxNoCol
Quel est ton N° de colonne ?
Donne-nous le nom de ton textbox
TextBox21->colonne21)
dans ta premiere réponse tu avais mis le msgbox avant LeControl= ...Citation:
Jour = Day(Now)
LeControl = "TextBox" & cstr(Nocolonne-1)
msgbox LeControl
etc...
j'ai remis dans l'ordre et ca m'affiche TextBox-1