Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1680 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  userform et plusieures feuilles

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

userform et plusieures feuilles

n°1300741
paul87
Posté le 07-02-2006 à 20:09:37  profilanswer
 

bonjour,
bon suis relativement débutant, donc réponses faciles MERCI.... :??:  
voila, dans un classeur excel, j'ai plusieurs feuilles (75 au total)
j'ai créé un userform pour remplir certaines cellules (Textbox et combobox et label) je veux m'en servir comme d'un masque de saisie pour entrer ou modifier des cellules  
Mon souci est le suivant:
je souhaiterai que mon userform soit "asservi" à la feuille qui est ouverte (ou en cours)
cad que les données qu'il affiche soient:
- ou correspondantes aux données de la feuille (et modifiable)
- ou nulles si la feuille est vierge  (et donc remplissable).
En fait il faudrait que le userform "reconnaisse ou integre" la feuille sur laquelle je veux travailler.
Actuellement sur mon appli ça fonctionne parfaitement bien.....mais sur une seule feuille!!!
Je voudrais pouvoir faire une copie de feuille mais quelles soient complètement indépendantes les unes des autres (a part les rowsources des controles de mon userform qui sont localisés sur ma feuille 1)
je ne sais pas si je suis tres clair

mood
Publicité
Posté le 07-02-2006 à 20:09:37  profilanswer
 

n°1300755
Epena
Posté le 07-02-2006 à 21:09:03  profilanswer
 

On pourrait essayer ceci :
    TextBox1 = Sheets(ActiveSheet.Name).Cells(1, 1)
    TextBox2 = Sheets(ActiveSheet.Name).Cells(1, 2)
Le remplissage du textbox faisant référence à une cellule de la feuille active.
Cordialement  
 
Epéna

n°1300764
paul87
Posté le 07-02-2006 à 21:39:09  profilanswer
 

merci de vous interresser a mon cas, c'est sympa!!
si je mets ceci:

Code :
  1. Private Sub TextBox1_Change()
  2. TextBox1 = Sheets(ActiveSheet.Name).Cells(1, 2)
  3. End Sub


le bouton d'appel de l'userform ne fonctionne plus!!!

n°1300848
paul87
Posté le 07-02-2006 à 23:15:41  profilanswer
 

décidemment je n'y arrive pas !!!

n°1300950
Epena
Posté le 08-02-2006 à 06:56:50  profilanswer
 

A quoi correspond le bouton d'appel de la user form ? Fait -il référence à une macro(contenant userForm.Show) située dans un module ?  
 
Il faut remplir les différents Textbox à l'initialisation de la Form:
 
Private Sub UserForm_Initialize()
TextBox1 = Sheets(ActiveSheet.Name).Cells(1, 2)
End Sub
 
Si le texte change, mettre à jour la cellule :
 
Private Sub TextBox1_Change()
    'TextBox1 = Sheets(ActiveSheet.Name).Cells(1, 2)    Le controle est bloqué par cette erreur de logique
Sheets(ActiveSheet.Name).Cells(1, 2) = TextBox1
End Sub
 
Bon courage
 
Epéna

n°1300974
paul87
Posté le 08-02-2006 à 09:34:20  profilanswer
 

le user form est commandé par  

Code :
  1. Private Sub bouton_Click()
  2. userform1.Show
  3. End Sub


sur chaque feuilles
 
j'ai toujours le meme résultat c'est à dire: le remplissage de la cells(1 ,2) se fait bien avec le remplissage du textbox1 de mon userform, et lorsque je ré-ouvre mon userform j'ai bien l'affichage du contenu de cells(1 ,2).
Mais si je fais une copie de cette feuille, lorsque j'ouvre mon userform de cette feuille2 j'ai encore lle contenu de la cells(1 ,2) de la feuille1, si je modifie le contenu du textbox1 de ce userform la modification s'effectue sur la feuille1.
J'ai l'impression que le userform ne reconnait comme feuille active que la feuille1. il ne remplit pas la cells(1, 2) de la feuille2.
Merci de votre aide .......car j'ai vraiment besoin que cela marche(boulot++)

n°1301116
tegu
Posté le 08-02-2006 à 11:22:34  profilanswer
 

Cela veut dire qu'il faut activer une autre feuille avant de lancer ton userform, ou alors qu'il l'active lui-même.
Ce qui suit permet d'activer la feuille de ton choix. À toi de voir sur quels critères choisir la-dite feuille.

application.Sheets("Nom_de_ta_feuille" ).activate


 

n°1301502
watashi
La démotivation : JAMAIS !
Posté le 08-02-2006 à 18:15:40  profilanswer
 

salut paul,
 
Si tu ajoutes une variable publique pour ta feuille ça devrait sinon marcher comme il faut :

Code :
  1. Public Ws as Worksheet


dans le code de ton bouton tu ajoutes avant userform1.show :

Code :
  1. set Ws=sheets("nom_de_la_feuille" )


et dans ton userform_initialize :

Code :
  1. textbox1.text = ws.cells(1,2).value


et dans le code de textbox1_Change :

Code :
  1. ws.cells(1,2).value = textbox1.text


 
bon courage


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
n°1301513
paul87
Posté le 08-02-2006 à 18:35:02  profilanswer
 

bonjour et merci ++++++++ a tous!!!
Ca y est ça marche avec

Code :
  1. Private Sub TextBox1_Change()
  2. Sheets(ActiveSheet.Name).Cells(2, 1) = TextBox1
  3. End Sub


et  

Code :
  1. Private Sub UserForm_Initialize()
  2. TextBox1 = Sheets(ActiveSheet.Name).Cells(2, 1)
  3. End Sub


Mais surtout comme le userform garde en memoire le données après sa fermeture il fallait rajouter sur son évenement de fermeture:

Code :
  1. Private Sub ok_Click()
  2. Unload userform1
  3. End Sub


et la maintenant je peux faire autant de copies indépendantes les unes des autres..
Un grand merci a tous
Au fait une toute derniere question: comment faire pour avoir dans un textbox le "pointeur" qui se positionne automatiquement a gauche...je remplis mon userform avec des tabulations ordonnées et lorsque j'arrive a un textbox le "pointeur est en plein milieu....ce qui occasionne une erreur...merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  userform et plusieures feuilles

 

Sujets relatifs
Besoin d'infos sur les feuilles de style CSSAtterir sur une feuille après choix ds combo box d'un userform
utilisation d'un text box sur un UserFormvba excel supprimer userform, importer userform
Comment incrementer une base excel à partir d'un userformlier une image .gif...déterminer chemin/userform..svp.
Call UserFormappel Macro via UserForm(Resolu)
Feuilles de Style et SkinsPlusieurs skins, feuilles de style et blablabla
Plus de sujets relatifs à : userform et plusieures feuilles


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR