Création d'une boucle pour masquer les TextBox
Bonjour,
Je suis en train de créer des formulaires pour faciliter les saisies des contrôles de réception dans mon entreprise.
Pour épurer un peu l'interface de saisie, j'aurais besoin du nombre "juste" de TextBox nécessaire.
Mon formulaire à l'apparence d'un tableur avec en ligne les pièces (P1, P2 ... P80) et en colonne les caractéristiques à contrôler (Carac 1, carac 2 ... carac 10) où chaque case est une TextBox.
Une dernière indication, j'ai renommé toutes mes TextBox en TB1, TB2, TB3 ... TB10 pour la ligne P1 (1ère ligne) puis TB11, TB12 ... TB20 pour la ligne P2 (2ème ligne).
Ainsi lorsque mon contrôleur sélectionne "2" dans une liste déroulante, je voudrais que les "lignes" de P3 à P80 disparaissent.
Je pensais passer par une boucle For Each Next mais je ne suis pas assez compétent pour me lancer là dedans.
Voici les énormités que j'ai commencé à rédiger :
'________________________________________
'Permet de cacher les lignes inutiles
'________________________________________
Dim ligne3 As TextBox
ligne3 = TB11, TB12 'Ici je pensais définir une variable "ligne2" comme le regroupement des TextBox que compose la ligne 2
If Box_quantite_prelever.Value = 2 Then
ligne2.Hide
Else
End If
End Sub
Ce code est bien évidemment à enrichir avec le "cachage" (désolé) et toutes les lignes sauf les lignes 1 et 2.
Merci de votre aide,
Bonne fin de journée,
Bonjour
Et si tu fournissais un fichier afin de faire des tests
Tu expliques clairement ce que tu as et ce que tu veux
Bonjour,
Les fichiers sont assez denses mais je pense que c'est la meilleure solution effectivement.
Toutes remarques concernant le code sont également bonnes à prendre ... étant autodidacte, je pense que pas mal de choses sont à améliorer
Merci de votre aide,
Cordialement,
Je suis assez d'accord pour dire qu'avec la PJ c'est mieux !
Bonjour Banzai64,
Merci beaucoup pour ton aide précieuse,
C'est parfait !
Le jour où j'aurais ton niveau en Excel ...
Bonne journée à toi,
Cdlt,
Banzai, vu que tu es mon ange-gardien VBA et que tu as déjà le fichier sous la main, j'aurais encore une question :
Toujours dans mon multipage, j'ai un onglet Résultats à la vue duquel, le contrôleur doit prendre la décision d'accepter ou non le composant contrôlé.
Dans ma cellule Dec_C1, je voudrais voir apparaitre le nombre de valeur hors tolérances, ou le nombre de valeur ou le controleur à saisi NC dans le TextBox.
Voici l'énormité que j'ai pondu pour le moment :
Sheets("Plan_controle").Select
'Valeurs des limites supérieures
LB21 = Range("B11").Value
LB22 = Range("C11").Value
LB23 = Range("D11").Value
LB24 = Range("E11").Value
LB25 = Range("F11").Value
LB26 = Range("G11").Value
LB27 = Range("H11").Value
LB28 = Range("I11").Value
LB29 = Range("J11").Value
LB30 = Range("K11").Value
'Valeurs des limites inférieures
LB31 = Range("B12").Value
LB32 = Range("C12").Value
LB33 = Range("D12").Value
LB34 = Range("E12").Value
LB35 = Range("F12").Value
LB36 = Range("G12").Value
LB37 = Range("H12").Value
LB38 = Range("I12").Value
LB39 = Range("J12").Value
LB40 = Range("K12").Value
'Aide à la décision pour la caractéristique C1
If LB31 < TB1.Value < LB21 Then
LB51 = ("C1 est C")
ElseIf LB31 < TB11.Value < LB21 Then
LB51 = ("C1 est C")
Ca devient assez compliqué quand on sait qu'au final, on a jusqu'à 80 pièces à contrôler, donc il faut que je passe en revue c'est 80 cellules pour la caractéristique 1 et que je me pose la question de si, la valeur est entre les tolérances ou si elle contient des C ou des NC et que je compte le nombre de cellule non-conforme.
Si vous arrivez à me faire ca, je peux envisager une rémunération
Bonne journée,
Merci de votre aide,
Cdlt,
Bonjour
Il serait intéressant de l'expliquer le déroulement des actions à faire
En gros comment fonctionne ton programme
A quoi correspond LB21, LB22 etc...
La page "Plan_controle" est celle qui est dans une classeur ?
Aucune données sur cette page
Comment comparer ?
D'accord, j'aurais surement du commencer par là effectivement !
Alors :
Cette petite application sert à produire et enregistrer des rapports de contrôle de réception.
Par l'intermédiaire du bouton "Création de l'instruction ..." je fais apparaitre un 1er formulaire, pour préparer mon plan de controle (pédigré de l'article + caractéristiques à controler ainsi que leurs tolérances associées).
Toutes ces infos vont s'enregistrer dans le second document joint ( .xltx). On devra le compléter plus tard, par la saisie du second formulaire.
Vient le temps de la saisie de ce second formulaire, où en recherche dans le dossier, on active le plan de controle préparé au préalable et on vient le compléter.
Ainsi, on ajoute des informations sur la réception (date, numéro du controleur ...) et on vient inscrire les résultats de controle.
Ainsi, comme tu m'as permis de le faire, le nombre "juste" de cellules nécessaires apparait !
C'est ici que mon nouveau problème émerge
Je voudrais qu'en appuyant sur le bouton "Cliquer pour passer aux résultats", l'onglet "Résultats" apparaisse. Cet onglet doit permettre, une fois les données de controle saisies, de prendre la décision sur le résultat du contrôle.
Dans cet onglet, on retrouver la cible, et les tolérances "contenu dans l'enregistrement (. xltx) et saisie via le 1er formulaire.
On doit également retrouver une indication sur les mesures saisies.
Je voudrais ainsi afficher en LB51 le nombre de résultats hors tolérance saisisi dans les TextBox relative à la 1ere caractéristique (TB1, TB11, TB21 ... TB791) et ca pour les 10 caractéristiques.
Pour atteindre la crème de la crème : certaines caractéristiques à contrôler peuvent être : Présence de la notice de montage, réponse : OUI/NON ... ainsi, dans ma LB51, j'aimerais prendre en compte au même titre que les valeurs hors tolérances, le nombre de TextBox où la valeur saisie est NON (donc non-conforme).
J'espère avoir été un peu plus clair, mon programme est un peu fouilli (veuillez m'en excuser) mais pour un 1er, j'en suis assez fier.
Merci de votre aide, de vos conseils et de votre patience,
Cdlt,