Propriété Texbox_change sur texbox indéfini

Garlim Messages postés 10 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008 - 29 juil. 2008 à 15:26
Garlim Messages postés 10 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008 - 30 juil. 2008 à 09:50
Bonjour,

Je suis en VBA (version EXCEL 2003) et j'ai pas trouvé le bon thème!

Dans une userform, je crée des textbox en dynamique. Je voudrais que chaque userform impair soit un cumul de la précédente texbox impair + la textbox pair précédente.

pour une je programmerais:

sub texbox3_change( )
textbox3=textbox1+textbox2
end sub

Super facile, pour une. Mais comme je cherche à le faire pour des textbox dont je ne connais pas le numéro, je ne sais pas. Peut-être par un module de classe? Ou alors en intégrant cet événement _change dans un module?

Merci d'avance.

12 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 juil. 2008 à 16:44
Bonjour,

je te mets simplement sur des rails :
soient plusieurs controles nommés toto suivi d'un chiffre n
1) Controls("toto" & n) se réfère au contrôle toton
2)
 For each ctrl in controls 
      lenomducontrôle = ctrl.name
      if left(lenomducontrole, 4) = "toto" then 'c'est alors l'un de contreôles qui sont baptisés toton
         indicecontrole = val(mid(lenomducontrole,5)) ' te donnera le chiffre n du contrôle concerné
     end if
Next
3) pour savoir si n est pair ou impair :
 if n and 0 'est alors pair
 if n and 1 'est alors impair
4) si n est impair, pour connaitre les pairs précédents
   for i = n-1 to 2 step -2
      .....
  next
A toi de jouer, maintenant ...
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 juil. 2008 à 16:45
Bonjour,

Arrêt bourin !

Repense ton problème autrement... On ne crée pas des textbox dynamiquement pour faire un simple calcul ! ... On n'a pas idée de faire ça... Explique un peu ce que tu veux faire, je te tenterais de t'aiguiller des pistes de réflexion sur la façon de faire...

Amicalement,
Us.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 juil. 2008 à 16:46
Oupss... en même temps...
0
Garlim Messages postés 10 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008
29 juil. 2008 à 19:37
Merci JMF et us_30 pour vos réponses, mais ce n'est pas exactement ce que je recherches.
@JMF:
Ce que je cherches à faire c'est au cas où on rentre une valeur dans un textbox, la valeur d'une autre texbox change.
Le hic c'est que les valeurs des textbox me sont pas connus.

La valeur MID ne nécessite pas une seconde valeur? val(mid(lenomducontrole,5,1))

@us_30:
Mon soucis est que je souhaite faire un "genre" de tableau croisée dynamique dans une userform? Pourquoi? Parcequ'un tableau croisée dynamique ne permet pas de modifier les valeurs!

Pour info (attention c'est de la lecture!) : Mon tableau devra comporter 2 années de 52 semaines chacune avec environ 500 lignes pour la version complète. Des filtres situées en haut de la userform permettront de sélectionner les lignes intéressantes. D'autres filtres permettront de faire le cumul par mois des semaines précédemment affichés.
10 lignes forment un modèle, plusieurs modèles(qté variable) forment un pays.
La première ligne servira à saisir des chiffres sur certaines semaines et la deuxième a en faire le cumul.
De plus une macro viendra répartir en fonction de la quantité total de chaque semaine les chiffres sur les semaines avoisinantes.
D'autres part, il y aura la possibilité aux utilisateurs de saisir sur d'autres tableaux à la journées ce coup ci des valeurs, qui iront se reporter directement dans le tableaux principal.
Je ne pense pas que cela pourrait être fait plus simplement que les textbox en dynamique ou alors se taper les 52*2*500 textbox à la main!!!
Surtout que je compte ajouter un système qui permettent d'ajouter ou supprimer un modèle par un clic.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 juil. 2008 à 19:42
" tableau croisée dynamique ne permet pas de modifier les valeurs! "


Je ne lis pas plus loin, pour réagir tout de suite. Un tableau dynamique se met à jour ! Il suffit de le rafraîchir...
( pas tester, mais évident...)

Amicalement,
Us.
0
Garlim Messages postés 10 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008
29 juil. 2008 à 19:44
Il se met à jour certes, mais pas sur le Tableau lui-même! Essaie de taper une valeur dans une cellule, tu verras ce qu'il te répondra!
PS : les utilisateurs ne mettront pas à jour la base de donnée, mais le Tableau, d'où mon problème!
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 juil. 2008 à 20:02
Garlim,

1) les indications que je t'ai données suffisent à traiter ce que tu veux traiter ! Réfléchis un peu
2)MsgBox Mid("toto25", 5) ===>> retourne bien évidemment 25 !
Bref ...
0
Garlim Messages postés 10 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008
29 juil. 2008 à 20:05
1)Merci JMF, je test ça demain au boulot^^
2)Ah bin j'apprends quelquechose, je savais pas que si on mettais rien après il prenait toutes les lettres :D (moi j'aurai mis right("toto25",2))
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 juil. 2008 à 20:24
"moi j'aurai mis right("toto25",2))"

Ah ! bravo ! et quid pour toto3 ? (un seul varactère pour l'indice et non deux comme avec toto25) , hein ???
0
Garlim Messages postés 10 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008
29 juil. 2008 à 20:26
Mouarf, pas con du tout le bougre! Excellente astuce!!!
0
Garlim Messages postés 10 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 09:33
Impeccable, ça marche JMF! Je voulais faire un sub textbox_change (), mais avec une addition, ça marchera quand même :D
0
Garlim Messages postés 10 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 09:50
Ah oui, mais non en fait :s
J'aurai souhaité pouvoir entrer des valeurs donc dans les cases pair, et qu'à ce moment là la valeur indique le cumul dans les case impaire.
0
Rejoignez-nous