Je suis dans un forme
j'ai donc testé ton code (mon form s'appel Opération)
Objet spécifié introuvable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set MonTextBox = Opération.Controls(Lecontrol) 'Maform : Nom de ton form![]()
Je suis dans un forme
j'ai donc testé ton code (mon form s'appel Opération)
Objet spécifié introuvable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !![]()
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Edit
Evidemment, value est à remplacer par text et tu en prends la valeur
Erreur corrigée
tu peux pas mettre de .Name sans With quelque chose
référence incorecte ou non qualifié
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'objet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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...![]()
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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![]()
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-nous
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox LeControl.Name
puis avec :
(j'ai un pressentiment..)
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox Controls(0).Name
et dis-nous
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 : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox Controls(0).Name
tout de suite après :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Msgbox LeControl
et dis-nous
Code : Sélectionner tout - Visualiser dans une fenêtre à part LeControl = "TextBox" & cstr(Nocolonne-1)
je comprend pas
en fesant cela
LeControle n'est il pas le nom de mon controle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?
alors
ne marche pas objet requis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MsgBox LeControl.Name
Label2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MsgBox Controls(0).Name
etrien enfin fenetre vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part LeControl = "TextBox" & CStr(NoColonne - 1)
As-tu bien placé ce msgbox là où je te l'ai dit, à savoir ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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,...,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= ...Jour = Day(Now)
LeControl = "TextBox" & cstr(Nocolonne-1)
msgbox LeControl
etc...
j'ai remis dans l'ordre et ca m'affiche TextBox-1
Partager