Problème fonctionnement du Code
Résolu
bizic
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
bizic Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
bizic Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai testé un code vba qui fonctionne bien avec 24 textbox sur un fichier excel.
Mais lorsque j'essaye de le reporter sur l'application sur laquelle je travaille et qui comprend 280 textbox concernées par le code, celui-ci ne fonctionne plus.
J'ai tout vérifié, mais je ne trouve pas la solution (je suis débutante)
Quelqu'un pourrait-il m'aider ?
Je joins les deux fichiers et voici le code,
J'ai testé un code vba qui fonctionne bien avec 24 textbox sur un fichier excel.
Mais lorsque j'essaye de le reporter sur l'application sur laquelle je travaille et qui comprend 280 textbox concernées par le code, celui-ci ne fonctionne plus.
J'ai tout vérifié, mais je ne trouve pas la solution (je suis débutante)
Quelqu'un pourrait-il m'aider ?
Je joins les deux fichiers et voici le code,
Dim i As Long Dim n As Long Dim nbVirgule As Long Dim nbPoint As Long 'Empêcher de saisir du texte et avertir d'une mauvaise saisie (lien avec module de classe) Dim txtBox(1 To 12) As New Classe1 'Pour 12 TextBox Private Sub UserForm_Initialize() Dim n, x As Long Dim ctrl As Control 'Pour les 12 derniers For Each ctrl In Controls For n = 1 To 12 If ctrl.Name = "TextBox" & n Then x = x + 1 Set txtBox(x).txtBox = ctrl End If Next n Next End Sub 'Obliger à saisir toutes les cases vides lors de la validation du USF (si case vide alors mettre un zéro) Private Sub Cmd3_click() For i = 1 To 12 If Me.Controls("TextBox" & i) = "" Then MsgBox "Case" & i & "vide" & vbNewLine & "si vide mettre un 0": Exit Sub Next i 'Envoyer le contenu des textbox vers les cellules excel en acceptant les calculs avec virgules et points Range("C1") = Val(Replace(Me.TextBox1, ",", ".")) Range("C2") = Val(Replace(Me.TextBox2, ",", ".")) Range("C3") = Val(Replace(Me.TextBox3, ",", ".")) Range("C4") = Val(Replace(Me.TextBox4, ",", ".")) Range("C5") = Val(Replace(Me.TextBox5, ",", ".")) Range("C6") = Val(Replace(Me.TextBox6, ",", ".")) Range("C7") = Val(Replace(Me.TextBox7, ",", ".")) Range("C8") = Val(Replace(Me.TextBox8, ",", ".")) Range("C9") = Val(Replace(Me.TextBox9, ",", ".")) Range("C10") = Val(Replace(Me.TextBox10, ",", ".")) Range("C11") = Val(Replace(Me.TextBox11, ",", ".")) Range("C12") = Val(Replace(Me.TextBox12, ",", ".")) Label3 = Range("C13") End Sub Private Sub Cmd4_click() Dim fichier As String On Error Resume Next ChDir "C:\Programmes\" fichier = Application.GetSaveAsFilename(fileFilter:="Excel Files (*.xlsm), *.xlsm") If fichier <> False Then ThisWorkbook.SaveAs fichier End Sub Private Sub Cmd6_Click() UserForm1.Hide UserForm2.Show End Sub
A voir également:
- Problème fonctionnement du Code
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
8 réponses
Bonjour f894009,
Désolée, j'ai oublié de joindre les fichiers, mais maintenant que tu le dis, je ne vois pas comment faire.
Peux tu me l'expliquer STP ?
Merci beaucoup!!!
Désolée, j'ai oublié de joindre les fichiers, mais maintenant que tu le dis, je ne vois pas comment faire.
Peux tu me l'expliquer STP ?
Merci beaucoup!!!
Bonjour,
clic sur le lien suivant: https://www.cjoint.com/
Ne paa oublier de Copier/coller le lien cree dans votre prochain message
clic sur le lien suivant: https://www.cjoint.com/
Ne paa oublier de Copier/coller le lien cree dans votre prochain message
Bonjour,
Voici les fichiers concernés:
http://cjoint.com/data3/3DBuUVTMDG1_test_saisie_numerique_vok_-_copie.zip
http://cjoint.com/data3/3DBuV6Kfvda_prog_plan_d__aff_forum.zip
Merci pour ton aide
Voici les fichiers concernés:
http://cjoint.com/data3/3DBuUVTMDG1_test_saisie_numerique_vok_-_copie.zip
http://cjoint.com/data3/3DBuV6Kfvda_prog_plan_d__aff_forum.zip
Merci pour ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
votre fichier modifie:
simple optimisation code creation classes textbox
https://www.cjoint.com/?DDCh3roM6Bs
rendez compte svp
A+
votre fichier modifie:
simple optimisation code creation classes textbox
https://www.cjoint.com/?DDCh3roM6Bs
rendez compte svp
A+
Un Grand Grand MERCI f894009 !!!!
C'est super ça fonctionne. Heureusement que vous m'avez aidée car je n'aurais pas trouvé seule.
Excusez moi de mon ignorance, mais dans la condition que vous avez ajoutée, que signifie la partie du code ?
(ctrl.Name,7)
Cdlt
C'est super ça fonctionne. Heureusement que vous m'avez aidée car je n'aurais pas trouvé seule.
Excusez moi de mon ignorance, mais dans la condition que vous avez ajoutée, que signifie la partie du code ?
(ctrl.Name,7)
Cdlt
Re,
normalement, ce que vous aviez ecrit aurait du marche. Mais, j'ai fait cette modif
qui peut etre aussi
permet reduire le temps d'execution, vu qu'il y a quelques 866 controls dans au moins deux Userforms, en prenant seulement les controls textbox pour creer les classes sans faire les boucles de 280 a chaque controls qui ne sont pas des textbox
Est-ce que votre programmation de depart (nombre de controls)"perturbait" excel??? Apres cette modif c'etait bon
normalement, ce que vous aviez ecrit aurait du marche. Mais, j'ai fait cette modif
If Left(ctrl.Name, 7) = "TextBox" Then
qui peut etre aussi
If TypeOf Ctrl Is MSForms.TextBox Then(plus dans style excel)
permet reduire le temps d'execution, vu qu'il y a quelques 866 controls dans au moins deux Userforms, en prenant seulement les controls textbox pour creer les classes sans faire les boucles de 280 a chaque controls qui ne sont pas des textbox
Est-ce que votre programmation de depart (nombre de controls)"perturbait" excel??? Apres cette modif c'etait bon
Re,
Oui, la programmation de départ perturbait excel mais pas tellement sur la rapidité d'exécution car je validais chaque USF individuellement; par contre, le message "erreur 9...." s'affichait sans que je parvienne à en identifier la cause. En pointant le code avec F8, le curseur me mettait bien sur la ligne de code que vous avez modifiée, mais étant débutante, je ne savais pas quelle modification apporter.
En tout cas, la modification que vous avez apportée fonctionne très bien et je vous en remercie vivement.
Bonne continuation et peut-être à bientôt pour une autre question
Encore Merci
Oui, la programmation de départ perturbait excel mais pas tellement sur la rapidité d'exécution car je validais chaque USF individuellement; par contre, le message "erreur 9...." s'affichait sans que je parvienne à en identifier la cause. En pointant le code avec F8, le curseur me mettait bien sur la ligne de code que vous avez modifiée, mais étant débutante, je ne savais pas quelle modification apporter.
En tout cas, la modification que vous avez apportée fonctionne très bien et je vous en remercie vivement.
Bonne continuation et peut-être à bientôt pour une autre question
Encore Merci