Bonjour,
Je prépare une grosse application sous Excel pour gérer plus de 130
colonnes...
J'ai donc préparé un formulaire qui contiendra des TextBoxes et un contrôle
multipages pour traiter les données de même type.
Devant la complexité des infos à vérifier, je souhaite que si une entrée est
modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne
accessible pour alerter l'utilisateur d'un changement (voulu ou non).
J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent bien,
mais seulement en pas à pas. Quand je lance la macro, il y a toujours un
textbox qui est modifié (celui qui est alimenté en premier), et je n'arrive
pas à prendre le contrôle de cet évènement.
Quelqu'un aurait une petite (bonne) idée ?
Merci d'avance...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonjour
Tu peux donner le code de l'évènement du premier contrôle modifié?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Michel RAMEAUX" a écrit dans le message de news:
Bonjour, Je prépare une grosse application sous Excel pour gérer plus de 130 colonnes... J'ai donc préparé un formulaire qui contiendra des TextBoxes et un contrôle multipages pour traiter les données de même type. Devant la complexité des infos à vérifier, je souhaite que si une entrée est modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne accessible pour alerter l'utilisateur d'un changement (voulu ou non). J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent bien, mais seulement en pas à pas. Quand je lance la macro, il y a toujours un textbox qui est modifié (celui qui est alimenté en premier), et je n'arrive pas à prendre le contrôle de cet évènement. Quelqu'un aurait une petite (bonne) idée ? Merci d'avance...
Bonjour
Tu peux donner le code de l'évènement du premier contrôle modifié?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Michel RAMEAUX" <michel.rameaux@wanadoo.fr> a écrit dans le message de
news: eDLn0jAUFHA.928@TK2MSFTNGP15.phx.gbl...
Bonjour,
Je prépare une grosse application sous Excel pour gérer plus de 130
colonnes...
J'ai donc préparé un formulaire qui contiendra des TextBoxes et un
contrôle
multipages pour traiter les données de même type.
Devant la complexité des infos à vérifier, je souhaite que si une entrée
est
modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne
accessible pour alerter l'utilisateur d'un changement (voulu ou non).
J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent
bien,
mais seulement en pas à pas. Quand je lance la macro, il y a toujours un
textbox qui est modifié (celui qui est alimenté en premier), et je
n'arrive
pas à prendre le contrôle de cet évènement.
Quelqu'un aurait une petite (bonne) idée ?
Merci d'avance...
Tu peux donner le code de l'évènement du premier contrôle modifié?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Michel RAMEAUX" a écrit dans le message de news:
Bonjour, Je prépare une grosse application sous Excel pour gérer plus de 130 colonnes... J'ai donc préparé un formulaire qui contiendra des TextBoxes et un contrôle multipages pour traiter les données de même type. Devant la complexité des infos à vérifier, je souhaite que si une entrée est modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne accessible pour alerter l'utilisateur d'un changement (voulu ou non). J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent bien, mais seulement en pas à pas. Quand je lance la macro, il y a toujours un textbox qui est modifié (celui qui est alimenté en premier), et je n'arrive pas à prendre le contrôle de cet évènement. Quelqu'un aurait une petite (bonne) idée ? Merci d'avance...
MichDenis
Bonjour Michel,
Il nous manque des informations pour comprendre ce qui se passe dans ton application.
A ) Quel est le code type dans l'événement beforeUpDate d'un de tes textbox. ?
B ) Quel est le code de la macro que tu lances ?
Dans les 2 cas, tu peux publier tes procédures ici même.
Salutations!
"Michel RAMEAUX" a écrit dans le message de news: Bonjour, Je prépare une grosse application sous Excel pour gérer plus de 130 colonnes... J'ai donc préparé un formulaire qui contiendra des TextBoxes et un contrôle multipages pour traiter les données de même type. Devant la complexité des infos à vérifier, je souhaite que si une entrée est modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne accessible pour alerter l'utilisateur d'un changement (voulu ou non). J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent bien, mais seulement en pas à pas. Quand je lance la macro, il y a toujours un textbox qui est modifié (celui qui est alimenté en premier), et je n'arrive pas à prendre le contrôle de cet évènement. Quelqu'un aurait une petite (bonne) idée ? Merci d'avance...
Bonjour Michel,
Il nous manque des informations pour comprendre ce qui se passe dans ton application.
A ) Quel est le code type dans l'événement beforeUpDate d'un de tes textbox. ?
B ) Quel est le code de la macro que tu lances ?
Dans les 2 cas, tu peux publier tes procédures ici même.
Salutations!
"Michel RAMEAUX" <michel.rameaux@wanadoo.fr> a écrit dans le message de news: eDLn0jAUFHA.928@TK2MSFTNGP15.phx.gbl...
Bonjour,
Je prépare une grosse application sous Excel pour gérer plus de 130
colonnes...
J'ai donc préparé un formulaire qui contiendra des TextBoxes et un contrôle
multipages pour traiter les données de même type.
Devant la complexité des infos à vérifier, je souhaite que si une entrée est
modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne
accessible pour alerter l'utilisateur d'un changement (voulu ou non).
J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent bien,
mais seulement en pas à pas. Quand je lance la macro, il y a toujours un
textbox qui est modifié (celui qui est alimenté en premier), et je n'arrive
pas à prendre le contrôle de cet évènement.
Quelqu'un aurait une petite (bonne) idée ?
Merci d'avance...
Il nous manque des informations pour comprendre ce qui se passe dans ton application.
A ) Quel est le code type dans l'événement beforeUpDate d'un de tes textbox. ?
B ) Quel est le code de la macro que tu lances ?
Dans les 2 cas, tu peux publier tes procédures ici même.
Salutations!
"Michel RAMEAUX" a écrit dans le message de news: Bonjour, Je prépare une grosse application sous Excel pour gérer plus de 130 colonnes... J'ai donc préparé un formulaire qui contiendra des TextBoxes et un contrôle multipages pour traiter les données de même type. Devant la complexité des infos à vérifier, je souhaite que si une entrée est modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne accessible pour alerter l'utilisateur d'un changement (voulu ou non). J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent bien, mais seulement en pas à pas. Quand je lance la macro, il y a toujours un textbox qui est modifié (celui qui est alimenté en premier), et je n'arrive pas à prendre le contrôle de cet évènement. Quelqu'un aurait une petite (bonne) idée ? Merci d'avance...
Michel RAMEAUX
Bonjour,
Beaucoup de problèmesavec la messagerie, mais avec un peu de patience on fini par y arriver...
Voici le code simplifié de la macro de test, écrit spécialement pour comprendre ce qui se passe :
Public FicTestOut As String Public Lig As Integer
Sub LancerFicheTest()
Dim Derlig As Integer
Lig = ActiveCell.Row Début: Load FicheTest ' Initialisation Formulaire Derlig = Range("B:B").End(xlDown).Row FicheTest.SpinButton1.Value = Lig FicheTest.SpinButton1.Min = 1 FicheTest.SpinButton1.Max = Derlig FicTestOut = "" 'FicheTest.CommandButton2.Enabled = False 'Application.EnableEvents = False FicheTest.TextBox1 = Range("A" & Lig).Value FicheTest.TextBox2 = Range("B" & Lig).Value FicheTest.TextBox3 = Range("C" & Lig).Value FicheTest.TextBox4 = Range("D" & Lig).Value FicheTest.TextBox5 = Range("E" & Lig).Value FicheTest.TextBox6 = Range("F" & Lig).Value FicheTest.CommandButton2.Enabled = False 'Application.EnableEvents = True FicheTest.Show ' Retour Formulaire Select Case FicTestOut Case "" Unload FicheTest FicTestOut = "" 'Exit Sub Case "Quitter" Unload FicheTest FicTestOut = "" Exit Sub Case "Navig" Range("A" & Lig).Activate Unload FicheTest FicTestOut = "" GoTo Début Case "Sauver" ' A traiter ultérieurement
End Select Unload FicheTest FicTestOut = "" End Sub
Voici le code que j'ai écrit dans le UserForm :
Private Sub SpinButton1_Change() ' Navig Lig = SpinButton1.Value FicTestOut = "Navig" Me.Hide End Sub
Private Sub CommandButton1_Click() ' Quitter FicTestOut = "Quitter" Me.Hide End Sub
Private Sub CommandButton2_Click() ' Enregistrer FicTestOut = "Sauver" Me.Hide End Sub
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 1" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 2" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 3" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Private Sub TextBox4_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 4" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Private Sub TextBox5_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 5" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Remarque : à l'origine, je voulais que le TextBox6 affiche la date du jour...
Sachant que le UserForm (FicheTest) de test contient : 1 multipage (4 pages) avec dans chaque page 1 TextBox (de 1 à 4) 1 textbox TextBox5 dans le UserForm lui-même, 1 SpinButton pour "naviguer" verticalement dans la feuille, 1 bouton Annuler 1 bouton Enregistrer (visible uniquement en cas de modification) Que la sortie du UserForm se fait avec l'étiquette "FicTestOut" et que la feuille Excel de test comporte 5 colonnes pour être affichées dans les TextBox avec 10 lignes de données bidon.
Résultat : tout ceci ne fonctionne que en mode "pas à pas" (c'est à dire en test, ce qui rassure). Mais dès que la macro est lancée en automatique, les ennuis arrivent !
Merci du support...
"Pierre Fauconnier" a écrit dans le message news:
Bonjour
Tu peux donner le code de l'évènement du premier contrôle modifié?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Michel RAMEAUX" a écrit dans le message de news:
Bonjour, Je prépare une grosse application sous Excel pour gérer plus de 130 colonnes... J'ai donc préparé un formulaire qui contiendra des TextBoxes et un contrôle multipages pour traiter les données de même type. Devant la complexité des infos à vérifier, je souhaite que si une entrée est modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne accessible pour alerter l'utilisateur d'un changement (voulu ou non). J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent bien, mais seulement en pas à pas. Quand je lance la macro, il y a toujours un textbox qui est modifié (celui qui est alimenté en premier), et je n'arrive pas à prendre le contrôle de cet évènement. Quelqu'un aurait une petite (bonne) idée ? Merci d'avance...
Bonjour,
Beaucoup de problèmesavec la messagerie, mais avec un peu de patience on
fini par y arriver...
Voici le code simplifié de la macro de test, écrit spécialement pour
comprendre ce qui se passe :
Public FicTestOut As String
Public Lig As Integer
Sub LancerFicheTest()
Dim Derlig As Integer
Lig = ActiveCell.Row
Début:
Load FicheTest
' Initialisation Formulaire
Derlig = Range("B:B").End(xlDown).Row
FicheTest.SpinButton1.Value = Lig
FicheTest.SpinButton1.Min = 1
FicheTest.SpinButton1.Max = Derlig
FicTestOut = ""
'FicheTest.CommandButton2.Enabled = False
'Application.EnableEvents = False
FicheTest.TextBox1 = Range("A" & Lig).Value
FicheTest.TextBox2 = Range("B" & Lig).Value
FicheTest.TextBox3 = Range("C" & Lig).Value
FicheTest.TextBox4 = Range("D" & Lig).Value
FicheTest.TextBox5 = Range("E" & Lig).Value
FicheTest.TextBox6 = Range("F" & Lig).Value
FicheTest.CommandButton2.Enabled = False
'Application.EnableEvents = True
FicheTest.Show
' Retour Formulaire
Select Case FicTestOut
Case ""
Unload FicheTest
FicTestOut = ""
'Exit Sub
Case "Quitter"
Unload FicheTest
FicTestOut = ""
Exit Sub
Case "Navig"
Range("A" & Lig).Activate
Unload FicheTest
FicTestOut = ""
GoTo Début
Case "Sauver"
' A traiter ultérieurement
End Select
Unload FicheTest
FicTestOut = ""
End Sub
Voici le code que j'ai écrit dans le UserForm :
Private Sub SpinButton1_Change()
' Navig
Lig = SpinButton1.Value
FicTestOut = "Navig"
Me.Hide
End Sub
Private Sub CommandButton1_Click()
' Quitter
FicTestOut = "Quitter"
Me.Hide
End Sub
Private Sub CommandButton2_Click()
' Enregistrer
FicTestOut = "Sauver"
Me.Hide
End Sub
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox6 = "Texte 1" 'Format(Now, "DD/mm/yy")
CommandButton2.Enabled = True
End Sub
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox6 = "Texte 2" 'Format(Now, "DD/mm/yy")
CommandButton2.Enabled = True
End Sub
Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox6 = "Texte 3" 'Format(Now, "DD/mm/yy")
CommandButton2.Enabled = True
End Sub
Private Sub TextBox4_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox6 = "Texte 4" 'Format(Now, "DD/mm/yy")
CommandButton2.Enabled = True
End Sub
Private Sub TextBox5_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox6 = "Texte 5" 'Format(Now, "DD/mm/yy")
CommandButton2.Enabled = True
End Sub
Remarque : à l'origine, je voulais que le TextBox6 affiche la date du
jour...
Sachant que le UserForm (FicheTest) de test contient :
1 multipage (4 pages) avec dans chaque page 1 TextBox (de 1 à 4)
1 textbox TextBox5 dans le UserForm lui-même,
1 SpinButton pour "naviguer" verticalement dans la feuille,
1 bouton Annuler
1 bouton Enregistrer (visible uniquement en cas de modification)
Que la sortie du UserForm se fait avec l'étiquette "FicTestOut"
et que la feuille Excel de test comporte 5 colonnes pour être affichées dans
les TextBox avec 10 lignes de données bidon.
Résultat : tout ceci ne fonctionne que en mode "pas à pas" (c'est à dire en
test, ce qui rassure). Mais dès que la macro est lancée en automatique, les
ennuis arrivent !
Merci du support...
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> a écrit dans le
message news: u8oORwAUFHA.2928@TK2MSFTNGP10.phx.gbl...
Bonjour
Tu peux donner le code de l'évènement du premier contrôle modifié?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Michel RAMEAUX" <michel.rameaux@wanadoo.fr> a écrit dans le message de
news: eDLn0jAUFHA.928@TK2MSFTNGP15.phx.gbl...
Bonjour,
Je prépare une grosse application sous Excel pour gérer plus de 130
colonnes...
J'ai donc préparé un formulaire qui contiendra des TextBoxes et un
contrôle
multipages pour traiter les données de même type.
Devant la complexité des infos à vérifier, je souhaite que si une entrée
est
modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne
accessible pour alerter l'utilisateur d'un changement (voulu ou non).
J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent
bien,
mais seulement en pas à pas. Quand je lance la macro, il y a toujours un
textbox qui est modifié (celui qui est alimenté en premier), et je
n'arrive
pas à prendre le contrôle de cet évènement.
Quelqu'un aurait une petite (bonne) idée ?
Merci d'avance...
Beaucoup de problèmesavec la messagerie, mais avec un peu de patience on fini par y arriver...
Voici le code simplifié de la macro de test, écrit spécialement pour comprendre ce qui se passe :
Public FicTestOut As String Public Lig As Integer
Sub LancerFicheTest()
Dim Derlig As Integer
Lig = ActiveCell.Row Début: Load FicheTest ' Initialisation Formulaire Derlig = Range("B:B").End(xlDown).Row FicheTest.SpinButton1.Value = Lig FicheTest.SpinButton1.Min = 1 FicheTest.SpinButton1.Max = Derlig FicTestOut = "" 'FicheTest.CommandButton2.Enabled = False 'Application.EnableEvents = False FicheTest.TextBox1 = Range("A" & Lig).Value FicheTest.TextBox2 = Range("B" & Lig).Value FicheTest.TextBox3 = Range("C" & Lig).Value FicheTest.TextBox4 = Range("D" & Lig).Value FicheTest.TextBox5 = Range("E" & Lig).Value FicheTest.TextBox6 = Range("F" & Lig).Value FicheTest.CommandButton2.Enabled = False 'Application.EnableEvents = True FicheTest.Show ' Retour Formulaire Select Case FicTestOut Case "" Unload FicheTest FicTestOut = "" 'Exit Sub Case "Quitter" Unload FicheTest FicTestOut = "" Exit Sub Case "Navig" Range("A" & Lig).Activate Unload FicheTest FicTestOut = "" GoTo Début Case "Sauver" ' A traiter ultérieurement
End Select Unload FicheTest FicTestOut = "" End Sub
Voici le code que j'ai écrit dans le UserForm :
Private Sub SpinButton1_Change() ' Navig Lig = SpinButton1.Value FicTestOut = "Navig" Me.Hide End Sub
Private Sub CommandButton1_Click() ' Quitter FicTestOut = "Quitter" Me.Hide End Sub
Private Sub CommandButton2_Click() ' Enregistrer FicTestOut = "Sauver" Me.Hide End Sub
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 1" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 2" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 3" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Private Sub TextBox4_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 4" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Private Sub TextBox5_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) TextBox6 = "Texte 5" 'Format(Now, "DD/mm/yy") CommandButton2.Enabled = True End Sub
Remarque : à l'origine, je voulais que le TextBox6 affiche la date du jour...
Sachant que le UserForm (FicheTest) de test contient : 1 multipage (4 pages) avec dans chaque page 1 TextBox (de 1 à 4) 1 textbox TextBox5 dans le UserForm lui-même, 1 SpinButton pour "naviguer" verticalement dans la feuille, 1 bouton Annuler 1 bouton Enregistrer (visible uniquement en cas de modification) Que la sortie du UserForm se fait avec l'étiquette "FicTestOut" et que la feuille Excel de test comporte 5 colonnes pour être affichées dans les TextBox avec 10 lignes de données bidon.
Résultat : tout ceci ne fonctionne que en mode "pas à pas" (c'est à dire en test, ce qui rassure). Mais dès que la macro est lancée en automatique, les ennuis arrivent !
Merci du support...
"Pierre Fauconnier" a écrit dans le message news:
Bonjour
Tu peux donner le code de l'évènement du premier contrôle modifié?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Michel RAMEAUX" a écrit dans le message de news:
Bonjour, Je prépare une grosse application sous Excel pour gérer plus de 130 colonnes... J'ai donc préparé un formulaire qui contiendra des TextBoxes et un contrôle multipages pour traiter les données de même type. Devant la complexité des infos à vérifier, je souhaite que si une entrée est modifiée, quelle qu'elle soit, un bouton "Enregistrer la modif" devienne accessible pour alerter l'utilisateur d'un changement (voulu ou non). J'ai mis en place dans les contrôles des BeforeUpDate qui fonctionnent bien, mais seulement en pas à pas. Quand je lance la macro, il y a toujours un textbox qui est modifié (celui qui est alimenté en premier), et je n'arrive pas à prendre le contrôle de cet évènement. Quelqu'un aurait une petite (bonne) idée ? Merci d'avance...