Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 01/09/2008, 17h51   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Par défaut [Résolu] Aide pour amélioration userform

Bonjour à tous et à toutes,

Voilà, je suis en train de créer un fichier qui servira de base de données production, et donc pour faciliter la vie des gens qui vont devoir l'utiliser (mes collègues quoi... ) je tente de mettre en place une userform pratique et fonctionnelle...

Je me base sur un fichier créer par Thierry sur ce forum...
(http://www.excel-downloads.com/html/...8757_28757.htm pour les nostalgiques... merci à lui pour son aide induite! )

Donc voilà, si on lance la userform, les chefs d'équipes doivent remplir les formulaires (ils ne sont pas encore tous présents, je dois encore en rajouter...)
-> Date
-> Machine
-> Pause (ou poste en français!! )
-> 9 Textbox

Je n'arrive pas à faire qques petits trucs lors de la validation du formulaire :
- Rendre obligatoire le remplissage de tous les champs...
- Vide automatiquement les Textbox lorsque l'on clique dedans...
- Mettre dans une variable la donnée du poste de façon à pouvoir la mettre dans le tableau...
- Faire en sorte que lorsqu'on appuie sur tab on passe de la date à la machine, puis au poste, puis à textbox1, textbox2, etc. Je sais que c'est du pinaillage, mais je pense que ça peut être utile de l'avoir dans l'ordre...

Voilà, c'est tout pour le moment, si vous pouvez m'aider la dessus, ce serait super!

Je complète ma userform et je reviendrai pour mes nouveaux problèmes... :-) Mais cela est une autre histoire...

Vincenzozo
Fichiers attachés
Type de fichier : zip Test.zip (19,8 Ko, 37 affichages)

Dernière modification par Vincenzozo ; 12/09/2008 à 11h47. Motif: Tag [Résolu] ajouté
Vincenzozo est déconnecté   Réponse avec citation
ANNONCES
Vieux 01/09/2008, 18h24   #2 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 910
Par défaut Re : Aide pour amélioration userform

Bonjour vicenzozo,

Pour le poste:

Code:
 
Dim poste
    Poste = Abs((OptionButton1 * 1) + (OptionButton2 * 2) + (OptionButton3 * 3) + (OptionButton4 * 4) + (OptionButton5 * 5))
Pour le contrôle des textBox

Code:
 
Dim i as interger
 
Dim TextBoxOk As Boolean
TextBoxOk=True
 For i = 1 To 9
        If Me.Controls("TextBox" & i) = "" Then TextBoxOk = False: Exit For
 next
 If Not TextBoxOk Then
      MsgBox "Vous devez remplir tous les textBox", vbExclamation, "Validation"
    Me.Controls("TextBox" & i).SetFocus
    Exit Sub
 End If
Pour vider un textbox lorsque l'utilisateur rentre dedans:
Code:
Private Sub TextBox1_Enter()
 TextBox1 = ""
End Sub
Pour l'ordre de saisie, le userform affiché: Menu Affichage/ordre de tabulation.

A bientôt
__________________
Ce qui nous rapproche? ... nos différences


vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Bonne journée
Hasco est déconnecté   Réponse avec citation
Vieux 03/09/2008, 14h31   #3 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Par défaut Re : Aide pour amélioration userform

Citation:
Envoyé par Hasco Voir le message
Bonjour vicenzozo,

Pour le poste:

Code:
 
Dim poste
    Poste = Abs((OptionButton1 * 1) + (OptionButton2 * 2) + (OptionButton3 * 3) + (OptionButton4 * 4) + (OptionButton5 * 5))
Merci pour ton aide, mais j'avoue ne pas comprendre le passage ci dessus ...
J'attribue une valeur à la variable poste, c'est bien ça?
Mais le calcul...

Encore merci.
Vincenzozo

Dernière modification par Vincenzozo ; 03/09/2008 à 14h31. Motif: erreur de balise...
Vincenzozo est déconnecté   Réponse avec citation
Vieux 03/09/2008, 17h00   #4 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 910
Par défaut Re : Aide pour amélioration userform

Bonjour Vicenzo,

Poste=Abs((OptionButton1 * 1) + (OptionButton2 * 2) + (OptionButton3 * 3) + (OptionButton4 * 4) + (OptionButton5 * 5))

La valeur de chaque bouton d'option est soit True soit false.
Pour VBA: Ture= -1 et False=0

Optionbutton1*1 = -1 si True 0 si False
OptionButton2*2 = -2 si True 0 si False
OptionButton3*3 = -3 si True 0 si False

Comme 1 seul des 3 boutons peut être coché le resulat de la somme des trois valeurs ne peut être que -1 ou -2 ou -3

Abs(...) retourne l'absolu de ce résultat (1 ou 2 ou 3)

C'est une façon d'opérer qui permet d'éviter les tests successifs des boutons d'option.

A bientôt
__________________
Ce qui nous rapproche? ... nos différences


vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Bonne journée
Hasco est déconnecté   Réponse avec citation
Vieux 03/09/2008, 17h08   #5 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Par défaut Re : Aide pour amélioration userform

Re-Bonjour,

Ah, ok, je comprends mieux... :-)
Merci pour ton aide.

Je vais passer à l'étape la moins drôle, la définition de l'ordre pour les tabulations... :-/

Vincenzozo
Vincenzozo est déconnecté   Réponse avec citation
Vieux 03/09/2008, 17h37   #6 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Talking Re : Aide pour amélioration userform

Bonjour,

J'ai maintenant un autre soucis,

J'ai dans ma userform, des tableaux de textbox, que je souhaite récupérer en gardant la mise en forme tableau....
J'ai des colonnes textbox..a et des colonnes textbox..b (ou .. sont des chiffres qui diffèrent d'un tableau à l'autre)
J'ai prévu dans ces tableaux 10 lignes, mais il se peut que toutes ne soient pas remplies...

De ce fait, je ne peux pas utiliser une méthode de base (à l'image de mon niveau en vba...) qui consiterai à dire
textbox01a => cellule colonne A ligne 1
textbox01b => cellule colonne B ligne 1
... etc. etc. ...
textbox10a => cellule colonne A ligne 10
textbox10b => cellule colonne B ligne 10

Je n'ai pas besoin de copier des box vides, qui vont me générer des lignes vides et donc des trous dans ma BDD...

Voilà, please help! Merci d'avance.
Vincenzozo

PS : Pour le moment, j'ai ce code qui va bien pour un tableau à une seule colonne, si jamais ç peut vous aider, mais pour ce tableau là, toutes les lignes doivent être remplies...
Code:
'Pour voir se qui se passe je bascule sur la feuille "Datas"
Sheets("Datas").Activate

'Ici c'est le report de la saisie dans la feuille
With Sheets("Datas")
.Range("A" & L).Value = Calendar1.Value
.Range("B" & L).Value = pause
.Range("C" & L).Value = ListBox1.Value
.Range("D" & L).Value = TextBox1.Value
.Range("E" & L).Value = TextBox2.Value
.Range("F" & L).Value = TextBox3.Value
.Range("G" & L).Value = TextBox4.Value
.Range("H" & L).Value = TextBox5.Value
.Range("I" & L).Value = TextBox6.Value
.Range("J" & L).Value = TextBox7.Value
.Range("K" & L).Value = TextBox8.Value
.Range("L" & L).Value = TextBox9.Value
End With

Dernière modification par Vincenzozo ; 04/09/2008 à 17h41. Motif: Changement question...
Vincenzozo est déconnecté   Réponse avec citation
Vieux 08/09/2008, 18h01   #7 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Par défaut Re : Aide pour amélioration userform

Un petit up, siouplé! :-)
Vincenzozo est déconnecté   Réponse avec citation
Vieux 08/09/2008, 19h27   #8 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 910
Par défaut Re : Aide pour amélioration userform

Bonsoir Vicenzo,



IF len(Trim(TextBox01 & TextBox02 & TextBox03)) =0 Then Lignevide

(Si la longueur de la concatenation des textbox est égale à zéro, on a une ligne vide)

A supposer que TextBox01 à TextBox03 représente une ligne

A+++++
__________________
Ce qui nous rapproche? ... nos différences


vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Bonne journée
Hasco est déconnecté   Réponse avec citation
Vieux 10/09/2008, 12h59   #9 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Par défaut Re : Aide pour amélioration userform

Citation:
Envoyé par Hasco Voir le message
IF len(Trim(TextBox01 & TextBox02 & TextBox03)) =0 Then Lignevide
(Si la longueur de la concatenation des textbox est égale à zéro, on a une ligne vide)
Bojour,

Je comprends bien ta formule, mais par contre, je n'arrive pas à voir comment l'appliquer...
Ce que je souhaite

Code:
ça, c'est la trame de l'USF.
Textbox10a  Textbox10b  Textbox10c
Textbox11a  Textbox11b  Textbox11c
Textbox12a  Textbox12b  Textbox12c

Une fois remplie, ça donne ceci :
Valeur1x1  Valeur1x2  Valeur1x3
Valeur2x1  Valeur2x2  Valeur2x3
rien       rien      rien

Et une fois recopié dans le tabelau excel, ça devrait donner ceci
          Colonne A  Colonne B  Colonne C
Ligne A : Valeur1x1  Valeur1x2   Valeur1x3
Ligne B : Valeur2x1  Valeur2x2   Valeur2x3
JE suis OK pour le test de la ligne vide, mais je n'arrive pas à implémenter une boucle qui vienne automatiquement recopier les lignes non vides...
Sachant que l'hypothèse est que le chef d'équipe remplisse les lignes sans laisser de trous...

Voilà, si ça peut t'aider à mieux comprendre mon problème...
Si tu as besoin d'autres infos, n'hésite pas!

Bien à toi,
Vincenzozo
Vincenzozo est déconnecté   Réponse avec citation
Vieux 10/09/2008, 18h07   #10 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Par défaut Re : Aide pour amélioration userform

Re-Bonjour Hasco
Demain, je teste une boucle avec le test que tu me donnes et je reviens vous donner des nouvelles!
Je viens d'avoir l'idée, mais ce sera pas possible ce soir!

@pluche
Vincenzozo est déconnecté   Réponse avec citation
Vieux 11/09/2008, 09h41   #11 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Par défaut Aide boucle qui boucle pas...

Bonjour à tous,

Bon, j'ai trouvé, mais je me pose une question :
dans une boucle, à quoi sert un "exit sub"???

Je vous colle mon code en exemple, si vous pouviez me renseigner sur ce qui est mieux : rien ou le exit sub dans ce cas là!

Merci

Code:
'Reporting des performances
'Pour voir se qui se passe je bascule sur la feuille "Perf"
Sheets("Perf").Activate
'ici je repère la dernière ligne vide pour le recueil des données
Lpe = Sheets("Perf").Range("A65536").End(xlUp).Row + 1
With Sheets("Perf")
For vpe = 10 To 25
    If Len(Trim(Me.Controls("TextBox" & vpe & "b") & Me.Controls("TextBox" & vpe & "c") & Me.Controls("TextBox" & vpe & "d") & Me.Controls("TextBox" & vpe & "e") & Me.Controls("TextBox" & vpe & "f") & Me.Controls("TextBox" & vpe & "g"))) <> 0 Then
    .Range("A" & Lpe).Value = Calendar1.Value
    .Range("B" & Lpe).Value = pause
    .Range("C" & Lpe).Value = ListBox1.Value
    .Range("D" & Lpe).Value = Me.Controls("ComboBox" & vpe & "a").Value
    .Range("E" & Lpe).Value = Me.Controls("Textbox" & vpe & "b").Value
    .Range("F" & Lpe).Value = Me.Controls("Textbox" & vpe & "c").Value
    .Range("G" & Lpe).Value = Me.Controls("Textbox" & vpe & "d").Value
    .Range("H" & Lpe).Value = Me.Controls("Textbox" & vpe & "e").Value
    .Range("I" & Lpe).Value = Me.Controls("Textbox" & vpe & "f").Value
    .Range("J" & Lpe).Value = Me.Controls("Textbox" & vpe & "g").Value
    Lpe = Lpe + 1
Else
    'If Len(Trim(Me.Controls("TextBox" & vpe & "b") & Me.Controls("TextBox" & vpe & "c") & Me.Controls("TextBox" & vpe & "d") & Me.Controls("TextBox" & vpe & "e") & Me.Controls("TextBox" & vpe & "f") & Me.Controls("TextBox" & vpe & "g"))) = 0 Then Exit Sub
End If
Next
End With

Dernière modification par Vincenzozo ; 11/09/2008 à 13h24. Motif: J'ai trouvé la solution, mais j'ai une autre question! :)
Vincenzozo est déconnecté   Réponse avec citation
Vieux 11/09/2008, 16h30   #12 (permalink)
XLDnaute Accro
 
Avatar de Hasco
 
Date d'inscription: mai 2007
Localisation: Challans
Version Excel : Excel XP (PC)
Messages: 1 910
Par défaut Re : Aide pour amélioration userform

Vincenzo,

Citation:
Envoyé par Vincenzo
dans une boucle, à quoi sert un "exit sub"???
De manière générale et au besoin, dans un boucle for on met 'Exit For' et dans une boucle Do 'Exit Do'. Cela permet de mettre proprement fin à la boucle.

Dans ton cas, puisque tu n'as pas d'autres traitements que ceux qui répondent à la condition, 'Exit For' n'est pas necessaire.

A bientôt
__________________
Ce qui nous rapproche? ... nos différences


vive la charte XLD: http://www.excel-downloads.com/forum...de-poster.html

Bonne journée
Hasco est déconnecté   Réponse avec citation
Vieux 12/09/2008, 11h46   #13 (permalink)
XLDnaute Nouveau
 
Date d'inscription: novembre 2007
Version Excel : Excel 2000 (PC)
Messages: 21
Par défaut Re : Aide pour amélioration userform

Re-Bonjour Hasco,

Merci pour tes explications, j'ai tout compris!

Bone journée
Vincenzozo est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
aide pour userform merci silverjet Forum Excel 0 08/08/2008 12h21
Aide Userform pour un débutant degap05 Forum Excel 19 22/01/2008 09h41
besoins aide pour un userform MacMac Forum Excel 7 28/09/2007 09h56
aide pour un userform MacMac Forum Excel 19 30/07/2007 19h15
Aide pour userform Pat le fou Forum Excel Downloads - Archives 7 20/01/2005 23h57


Fuseau horaire GMT +2. Il est actuellement 11h00.


(C) 2006 Excel Downloads