Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

initialisation spinbutton

  • Initiateur de la discussion Initiateur de la discussion errog
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

errog

Guest
Bonjour,
J'ai bcoup de pb avec lesinitialisations des objets contenus dans un USF, par exemple , j'ai dans le module1 tapé

For j = 1 To 5
UserForm1.SpinButton1.Value = 1
UserForm1.Show
Tableau(j)=qq
Next j


et dans le USF1

Private Sub SpinButton1_Change()
qq = UserForm1.SpinButton1.Value
End Sub


Si je ne touche pas à spinbutton, la valeur est celle de l'itération précédente dans la boucle, or je voudrais qu'elle soit par défaut 1.

Merci 🙂
 
Re : initialisation spinbutton

Bonjour Errog

si j'ai bien compris, le mieux ne serait t il pas de modifier la valeur de ton spinbutton lors de l'initialisation de ton USF :

Code:
Private Sub UserForm_Initialize()
SpinButton1.Value = 1
End Sub

bonne journée
@+
 
Re : initialisation spinbutton

Bonjour
Un fichier exemple aurait été le bienvenu...
Pourquoi la boucle for j=1 to 5?
Comme tu le saisie il faut que tu quitte userform1 pour continuer la boucle...
on ne met pas un userform.show dans une boucle...
car le fait de mettre userform.show tu donnes la main à l'userform et tant que tu n'as pas quitter l'userform tu n'as plus la main...

A+ François
 
Re : initialisation spinbutton

Rebonjour,

Dans le USF, j'ai un spinbutton et des fenetres texte et j'utilise ce formulaire a cinq reprises (d'ou la boucle ) , la valeur sélectionnée par le spinbutton est alors stockée dans un tableau ( d'ou les valeurs Tableau(1),...,Tableau(5) ).

D'autre part, comme je débute vraiment, je ne comprends pas ou je dois placer la suggestion de Pierrot 93 dans le userform ? dans le module principal ?😕

Merci
 
Re : initialisation spinbutton

Rebonjour,

Dans le USF, j'ai un spinbutton et des fenetres texte et j'utilise ce formulaire a cinq reprises (d'ou la boucle ) , la valeur sélectionnée par le spinbutton est alors stockée dans un tableau ( d'ou les valeurs Tableau(1),...,Tableau(5) ).

D'autre part, comme je débute vraiment, je ne comprends pas ou je dois placer la suggestion de Pierrot 93 dans le userform ? dans le module principal ?😕

Merci
 
Re : initialisation spinbutton

Re

le code que j'avais donné est à placer dans le module de l'usf, mais je saisis pas trop ton histoire de boucle, et le ré
sultat attendu pas ce code. Si tu rencontres d'autres problèmes, mets ton fichier en pièce jointe, sans données confidentiellles, ce sera plus facile pour t'aider.

bonne soirée
@+
 
Re : initialisation spinbutton

Bonjour,
Pour etre clairs,soyons précis : voila a suivre le module principal "SAISIE" et
l'USF1 ( j'ai élagué qq déclarations )

L'objectif est de mesurer 5 criteres sur plusieurs individus : chaque critère
comporte 5 niveaux.

Pour chaque critère le formulaire de saisie est le meme sauf le contenu des fenetres TextBox1 a 5(intitulés des niveaux 1 a 5 pour le critere concerné) qui est chargé dans la boucle du module SAISIE

l'USF1 retourne pour le critere en cours la valeur valspin du spinbutton qui est alors stockée dans un tableau.

Le problème est le suivant : si on ne touche pas le spinbutton , on devrait avoir valspin = 1 mais si je veux par exemple saisir
critere 1 niveau 5 ( on bouge le spinbutton)
critere 2 niveau 1 ( on ne bouge pas le spinbutton : valeur par defaut )

la valeur effective prise par le critere2 est 5 , cest-a-dire celle du critere1 : sans action sur le spinbutton au cours du deuxieme appel de l'USF, la valeur prise n'est pas la valeur par défaut, mais la valeur prise par le spinbutton lors du premier appel de l'USF.

J'espère que c'est assez clair
Merci pour les remarques éclairées 🙂




PHP:
Public valspin As Integer

Sub SAISIE()
Dim .......
Dim .......
 ' boucle critere-niveau
 For critere = 1 To 5
        
   ' chargement du texte des TextBox de l'USF1 par les intitulés des  
     niveaux du critere en cours 
        For niveau = 1 To 5
        UserForm1.Controls("TextBox" & niveau) =   
        Worksheets("TRAME").Range("A1").Offset(niveau, critere)
        Next niveau
        
 'stockage du niveau obtenu par l'individu pour le critere
       RESULTAT(individu, critere) = valspin

    Next k
Next critere
 
individu = individu + 1
     
End Sub

>>>>>>>> USERFORM1 >>>>>>>

PHP:
Private Sub SpinButton1_Change()
Dim k As Integer
 
TextBox1.BackColor = RGB(198, 210, 210)

For k = 1 To 5
   If k = SpinButton1 Then
   Controls("Textbox" & k).BackColor = RGB(198, 210, 210)
   Else
   Controls("Textbox" & k).BackColor = RGB(255, 255, 255)
End If
Next k

valspin = UserForm1.SpinButton1.Value

TextBoxvaleur = SpinButton1
 
End Sub

Private Sub TextBox1_Change()
End Sub

Private Sub TextBoxvaleur_Change()
End Sub

Private Sub TextBox2_Change()
End Sub
Private Sub TextBox3_Change()
End Sub
Private Sub TextBox4_Change()
End Sub
Private Sub TextBox5_Change()
End Sub

Private Sub UserForm_Initialize()
SpinButton1.Value = 1
End Sub
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
Private Sub UserForm_Click()
End Sub
 
Re : initialisation spinbutton

Rebonjour,
J'ai joint le fichier excel zippé.
le module se nomme essai ( raccourci CTRL d)

taper un nom
Pour chaque critere selectionner unniveau

Le pb : si je décide de rentrer dans l'ordre des criteres , les niveaux respectifs
2 1 1 3 1

pour les 1 ( val par défaut a priori ), je ne touche pas au spinbutton

l'affichage ajouté pour visualer ce qui a ete pris en compte me donne
2 2 2 3 2

Autrement dit si le spinbutton n'estpas actionné, le spinbutton conserve la valeur précédente.

Merci
 

Pièces jointes

Re : initialisation spinbutton

Re

pas top cette façon de procéder... mettre dans un module standard des instructions en boucle, intervenant sur les objets d'un usf, de ce fait l'usf est chargé en mémoire mais jamais déchargé... ce qui explique que tu retrouves tes anciennes valeurs...

je mettrais plutôt le code directement dans l'usf, et le chargerait au lancement de la macro, mais bon... je ne suis pas dans ton projet, et n'ai qu'une vu trop parcellaire du problème.

bon courage
@+
 
Re : initialisation spinbutton

Rebonjour,

Je débute ( ya 1 semaine, je ne conaissais pas le terme vba 😀)
Tu me proposes defaire tourner la boucle dans l'usf ?

Sinon si je garde ma structure existante, comment décharger l'usf des anciennes valeurs ?
Merci
 
Re : initialisation spinbutton

REREbonjour,

Finalement autant bosser proprement, je refonds tout et je vais appeler une seule fois l'USF et tourner dedans avec un compteur qui permettra de réactualiser l'affichage des fenetres et je reverrai a ce moment la si le pb de valeur par défaut se reproduit.
Donc merci et certainement à tres bientot.😉
eric.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
2 K
P
  • Question Question
Réponses
0
Affichages
940
Pieerre69
P
Réponses
68
Affichages
9 K
Etoto0026
E
V
Réponses
17
Affichages
3 K
VBgalère
V
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…