OVH Cloud OVH Cloud

ListBox en délire

15 réponses
Avatar
Daniel.C
Bonjour à tous.

Quelqu'un peut-il m'expliquer pourquoi, lorsque j'exécute la commande :

Feuil3.Cells(ListBox1.ListIndex + 2, 1) = UserForm1.TextBox2.Text

la macro évènementielle "ListBox1_Change" se déclenche ? (la ligne se
trouve dans le code de CommandButton_Click). J'ai contourné avec un
switch, mais je voudrais comprendre.

Merci d'avance.

Daniel

5 réponses

1 2
Avatar
Daniel.C
Merci pour le classeur et le temps passé. Une manière de remplir un
listbox que je n'utilisais pas.
Daniel

il était tard hier soir lorsque j'ai regardé le fichier,
effectivement, tu as raison. Habituellement, je préfère
utiliser quelque chose comme : http://cjoint.com/?dioOVdVcEP

Suggestion : Si les noms des contrôles ressemblaient
à ceci :
Pour les textbox : Tdata + index de 1 à 5
Pour les combobox : Cdata + Index de 1 à 6

Lorsque requis, tu pourrais appeler les procédures...
Cela rend le code plus lisible, fluide et probablement plus rapide
et surtout plus rapide pour la saisie du code !
'-----------------------------
Sub Modifier_La_Couleur(Couleur As String)
Dim MaCouleur As Long, a as Integer
If Couleur = "Green" Then
Macouleur = RGB(204, 255, 204) 'change them to green
ElseIf Couleur = "Red" Then
Macouleur = RGB(255, 204, 204) 'Change them to red
End If
For a = 1 To 5
With Me.Controls(tdata & a)
.BackColor = Macouleur
End With
Next
For a = 1 To 6
With Me.Controls(cdata & a)
.BackColor = Macouleur
End With
Next
End Sub
'-----------------------------
Sub Enabled_Control(Etat As Boolean)
Dim a As Integer
For a = 1 To 5
With Me.Controls(tdata & a)
.Enabled = Etat
End With
Next
For a = 1 To 6
With Me.Controls(cdata & a)
.Enabled = Etat
End With
Next
End Sub
'-----------------------------



"Daniel.C" a écrit dans le message de groupe de
discussion :
Denis, je viens de reproduire le problème. Je pense que cela vient du
fait que le listbox est rempli avec la propriété "rowsource". Quand on
modifie une cellule de la plage rowsource, cela doit déclencher la
macro listbox1_change.
Daniel

Bonjour Daniel,

Tu as une solution viable avec l'usage d'une variable booléenne.

Je serais curieux de savoir qu'elle était la version d'Excel avec laquelle
l'application a été développée... mais ça relève plus du "bug" que d'une
explication rationnelle.

Si on devait tenter une explication, on pourrait la formuler comme suit :
Lorsque tu cliques sur le bouton "Update" le fait que tu édites une
cellule de la feuille qui est la source (RowSource) du listbox, cela
provoque l'événement change car le "contenu" du listbox s'en trouve
modifier. D'ailleurs, si tu modifies l'événement "Listbox1_Change" pour
l'"événement_clic" le résultat est le même.

Heureusement, la situation a été corrigée avec les versions 2003 et 2007. Je
n'ai pu tester avec les versions précédentes. Nul n'est tenu à l'impossible
! ;-)



"Daniel.C" a écrit dans le message de groupe de
discussion :
Je n'en ai pas vu, mais, comme il y a pas mal de contrôles, je peux en
avoir loupé un.
Le classeur est là :
http://www.cijoint.fr/cjlink.php?file=cj201003/cijcAMZUlG.xls
Choisis la feuille Sheet1, clique sur le bouton "Log claims" et le
userform1 s'affiche. Clique sur l'onglet "Daily throughput" du
multipage, puis sur l'onglet "List of Claims". Les données de Sheet3
s'affichent dans le listbox. Choisis une ligne et clique sur "Edit". On
te demande le mot de passe (Mango0ne) (o, zéro). Change une donnée et
clique sur Update. Si tu as mis un point d'arrêt au début de la macro :
Private Sub CommandButton10_Click()
tu peux observer ce que j'ai décrit.
Daniel

En attendant d'avoir sa réponse, tu peux toujours
vérifier si certains contrôles du formulaire utilisent
la propriété "ControlSource". Si oui, tu as ta réponse !
;-)



"Daniel.C" a écrit dans le message de groupe de
discussion :
Je viens de recréer un classeur reprenant cette partie du code et je ne
reproduis pas le problème. Je vais demander à l'auteur du classeur la
permission de mettre son classeur sur cjoint.
Merci de ton implication.
Daniel

Bonjour Daniel,

Voici un exemple : http://cjoint.com/?dhumtUCl3M
L'exemple présenté ne fait pas déclencher l'événement.
Mais comme il y a plusieurs façons de procéder, je vais
attendre que tu présentes ta manière de procéder avant
d'aller de l'avant.






"Daniel.C" a écrit dans le message de groupe de
discussion :
Bonjour à tous.

Quelqu'un peut-il m'expliquer pourquoi, lorsque j'exécute la commande :

Feuil3.Cells(ListBox1.ListIndex + 2, 1) = UserForm1.TextBox2.Text

la macro évènementielle "ListBox1_Change" se déclenche ? (la ligne se
trouve dans le code de CommandButton_Click). J'ai contourné avec un
switch, mais je voudrais comprendre.

Merci d'avance.

Daniel
Avatar
Mishell
Je ne comprends pas ce que tu dis
car le listbox_change n'est plus déclenché par les modifications sur la
feuille
après la réinitialisation de la propriété RowSource.

Exemple:
Sheet3.Cells(aaa + 2, 1) = UserForm1.TextBox50.Text
modifie la feuille et le Listbox est automatiquement mis à jour sans que
l'événement Listbox_Change soit déclenché.


Mishell


"Daniel.C" a écrit dans le message de news:
Omd%
Bonjour.

Merci, mais le listbox_change réinialise les autres contrôles sans que le
listindex change.

Cordialement.

Daniel

Private Sub CommandButton10_Click()

aaa = ListBox1.ListIndex 'Memoriser ListIndex


If Database_Unlocked = True Then

Dim strRowSource As String
With ListBox1
strRowSource = .RowSource
.RowSource = vbNullString
'Set back so it updates, use a new RowSource
.RowSource = strRowSource
End With

'myTag = True

Sheet3.Cells(aaa + 2, 1) = UserForm1.TextBox50.Text
Sheet3.Cells(aaa + 2, 5) = UserForm1.TextBox51.Text
Sheet3.Cells(aaa + 2, 2) = UserForm1.ComboBox2.Text
Sheet3.Cells(aaa + 2, 3) = UserForm1.ComboBox3.Text
Sheet3.Cells(aaa + 2, 4) = UserForm1.ComboBox4.Text
Sheet3.Cells(aaa + 2, 6) = UserForm1.ComboBox1.Text
Sheet3.Cells(aaa + 2, 7) = UserForm1.ComboBox5.Text
Sheet3.Cells(aaa + 2, 8) = UserForm1.TextBox57.Text
Sheet3.Cells(aaa + 2, 11) = UserForm1.TextBox60.Text

ListBox1.ListIndex = aaa 'Retablir ListIndex

Else
Dim response
response = MsgBox("Only Administrators can amend this Database!",
vbCritical, "Warning!")
End If
'myTag = False

End Sub

Mishell


"Daniel.C" a écrit dans le message de news:

Denis, je viens de reproduire le problème. Je pense que cela vient du
fait que le listbox est rempli avec la propriété "rowsource". Quand on
modifie une cellule de la plage rowsource, cela doit déclencher la macro
listbox1_change.
Daniel

Bonjour Daniel,

Tu as une solution viable avec l'usage d'une variable booléenne.

Je serais curieux de savoir qu'elle était la version d'Excel avec
laquelle
l'application a été développée... mais ça relève plus du "bug" que
d'une
explication rationnelle.

Si on devait tenter une explication, on pourrait la formuler comme suit
:
Lorsque tu cliques sur le bouton "Update" le fait que tu édites une
cellule de la feuille qui est la source (RowSource) du listbox, cela
provoque
l'événement change car le "contenu" du listbox s'en trouve modifier.
D'ailleurs, si tu modifies l'événement "Listbox1_Change" pour
l'"événement_clic" le résultat est le même.

Heureusement, la situation a été corrigée avec les versions 2003 et
2007. Je n'ai pu tester avec les versions précédentes. Nul n'est tenu à
l'impossible !
;-)



"Daniel.C" a écrit dans le message de groupe
de discussion :
Je n'en ai pas vu, mais, comme il y a pas mal de contrôles, je peux en
avoir loupé un.
Le classeur est là :
http://www.cijoint.fr/cjlink.php?file=cj201003/cijcAMZUlG.xls
Choisis la feuille Sheet1, clique sur le bouton "Log claims" et le
userform1 s'affiche. Clique sur l'onglet "Daily throughput" du
multipage, puis sur l'onglet "List of Claims". Les données de Sheet3
s'affichent dans le listbox. Choisis une ligne et clique sur "Edit". On
te demande le mot de passe (Mango0ne) (o, zéro). Change une donnée et
clique sur Update. Si tu as mis un point d'arrêt au début de la macro :
Private Sub CommandButton10_Click()
tu peux observer ce que j'ai décrit.
Daniel

En attendant d'avoir sa réponse, tu peux toujours
vérifier si certains contrôles du formulaire utilisent
la propriété "ControlSource". Si oui, tu as ta réponse !
;-)



"Daniel.C" a écrit dans le message de
groupe de
discussion :
Je viens de recréer un classeur reprenant cette partie du code et je
ne
reproduis pas le problème. Je vais demander à l'auteur du classeur la
permission de mettre son classeur sur cjoint.
Merci de ton implication.
Daniel

Bonjour Daniel,

Voici un exemple : http://cjoint.com/?dhumtUCl3M
L'exemple présenté ne fait pas déclencher l'événement.
Mais comme il y a plusieurs façons de procéder, je vais
attendre que tu présentes ta manière de procéder avant
d'aller de l'avant.






"Daniel.C" a écrit dans le message de
groupe de
discussion :
Bonjour à tous.

Quelqu'un peut-il m'expliquer pourquoi, lorsque j'exécute la commande
:

Feuil3.Cells(ListBox1.ListIndex + 2, 1) = UserForm1.TextBox2.Text

la macro évènementielle "ListBox1_Change" se déclenche ? (la ligne se
trouve dans le code de CommandButton_Click). J'ai contourné avec un
switch, mais je voudrais comprendre.

Merci d'avance.

Daniel














Avatar
Daniel.C
Et pourtant, si. J'ai réalisé un petit classeur ce matin pour m'en
assurer.
Daniel

Je ne comprends pas ce que tu dis
car le listbox_change n'est plus déclenché par les modifications sur la
feuille
après la réinitialisation de la propriété RowSource.

Exemple:
Sheet3.Cells(aaa + 2, 1) = UserForm1.TextBox50.Text
modifie la feuille et le Listbox est automatiquement mis à jour sans que
l'événement Listbox_Change soit déclenché.


Mishell


"Daniel.C" a écrit dans le message de news:
Omd%
Bonjour.

Merci, mais le listbox_change réinialise les autres contrôles sans que le
listindex change.

Cordialement.

Daniel

Private Sub CommandButton10_Click()

aaa = ListBox1.ListIndex 'Memoriser ListIndex


If Database_Unlocked = True Then

Dim strRowSource As String
With ListBox1
strRowSource = .RowSource
.RowSource = vbNullString
'Set back so it updates, use a new RowSource
.RowSource = strRowSource
End With

'myTag = True

Sheet3.Cells(aaa + 2, 1) = UserForm1.TextBox50.Text
Sheet3.Cells(aaa + 2, 5) = UserForm1.TextBox51.Text
Sheet3.Cells(aaa + 2, 2) = UserForm1.ComboBox2.Text
Sheet3.Cells(aaa + 2, 3) = UserForm1.ComboBox3.Text
Sheet3.Cells(aaa + 2, 4) = UserForm1.ComboBox4.Text
Sheet3.Cells(aaa + 2, 6) = UserForm1.ComboBox1.Text
Sheet3.Cells(aaa + 2, 7) = UserForm1.ComboBox5.Text
Sheet3.Cells(aaa + 2, 8) = UserForm1.TextBox57.Text
Sheet3.Cells(aaa + 2, 11) = UserForm1.TextBox60.Text

ListBox1.ListIndex = aaa 'Retablir ListIndex

Else
Dim response
response = MsgBox("Only Administrators can amend this Database!",
vbCritical, "Warning!")
End If
'myTag = False

End Sub

Mishell


"Daniel.C" a écrit dans le message de news:

Denis, je viens de reproduire le problème. Je pense que cela vient du
fait que le listbox est rempli avec la propriété "rowsource". Quand on
modifie une cellule de la plage rowsource, cela doit déclencher la macro
listbox1_change.
Daniel

Bonjour Daniel,

Tu as une solution viable avec l'usage d'une variable booléenne.

Je serais curieux de savoir qu'elle était la version d'Excel avec
laquelle
l'application a été développée... mais ça relève plus du "bug" que d'une
explication rationnelle.

Si on devait tenter une explication, on pourrait la formuler comme suit
:
Lorsque tu cliques sur le bouton "Update" le fait que tu édites une
cellule de la feuille qui est la source (RowSource) du listbox, cela
provoque
l'événement change car le "contenu" du listbox s'en trouve modifier.
D'ailleurs, si tu modifies l'événement "Listbox1_Change" pour
l'"événement_clic" le résultat est le même.

Heureusement, la situation a été corrigée avec les versions 2003 et
2007. Je n'ai pu tester avec les versions précédentes. Nul n'est tenu à
l'impossible !
;-)



"Daniel.C" a écrit dans le message de groupe
de discussion :
Je n'en ai pas vu, mais, comme il y a pas mal de contrôles, je peux en
avoir loupé un.
Le classeur est là :
http://www.cijoint.fr/cjlink.php?file=cj201003/cijcAMZUlG.xls
Choisis la feuille Sheet1, clique sur le bouton "Log claims" et le
userform1 s'affiche. Clique sur l'onglet "Daily throughput" du
multipage, puis sur l'onglet "List of Claims". Les données de Sheet3
s'affichent dans le listbox. Choisis une ligne et clique sur "Edit". On
te demande le mot de passe (Mango0ne) (o, zéro). Change une donnée et
clique sur Update. Si tu as mis un point d'arrêt au début de la macro :
Private Sub CommandButton10_Click()
tu peux observer ce que j'ai décrit.
Daniel

En attendant d'avoir sa réponse, tu peux toujours
vérifier si certains contrôles du formulaire utilisent
la propriété "ControlSource". Si oui, tu as ta réponse !
;-)



"Daniel.C" a écrit dans le message de groupe
de
discussion :
Je viens de recréer un classeur reprenant cette partie du code et je ne
reproduis pas le problème. Je vais demander à l'auteur du classeur la
permission de mettre son classeur sur cjoint.
Merci de ton implication.
Daniel

Bonjour Daniel,

Voici un exemple : http://cjoint.com/?dhumtUCl3M
L'exemple présenté ne fait pas déclencher l'événement.
Mais comme il y a plusieurs façons de procéder, je vais
attendre que tu présentes ta manière de procéder avant
d'aller de l'avant.






"Daniel.C" a écrit dans le message de
groupe de
discussion :
Bonjour à tous.

Quelqu'un peut-il m'expliquer pourquoi, lorsque j'exécute la commande
:

Feuil3.Cells(ListBox1.ListIndex + 2, 1) = UserForm1.TextBox2.Text

la macro évènementielle "ListBox1_Change" se déclenche ? (la ligne se
trouve dans le code de CommandButton_Click). J'ai contourné avec un
switch, mais je voudrais comprendre.

Merci d'avance.

Daniel














Avatar
Mishell
Je viens de tester sur Excel 2003 et 97, et l'événement ListBox1_Change
n'est plus déclenché après :
With ListBox1
strRowSource = .RowSource
.RowSource = vbNullString
.RowSource = strRowSource
End With



"Daniel.C" a écrit dans le message de news:

Et pourtant, si. J'ai réalisé un petit classeur ce matin pour m'en
assurer.
Daniel

Je ne comprends pas ce que tu dis
car le listbox_change n'est plus déclenché par les modifications sur la
feuille
après la réinitialisation de la propriété RowSource.

Exemple:
Sheet3.Cells(aaa + 2, 1) = UserForm1.TextBox50.Text
modifie la feuille et le Listbox est automatiquement mis à jour sans que
l'événement Listbox_Change soit déclenché.


Mishell


"Daniel.C" a écrit dans le message de news:
Omd%
Bonjour.

Merci, mais le listbox_change réinialise les autres contrôles sans que
le listindex change.

Cordialement.

Daniel

Private Sub CommandButton10_Click()

aaa = ListBox1.ListIndex 'Memoriser ListIndex


If Database_Unlocked = True Then

Dim strRowSource As String
With ListBox1
strRowSource = .RowSource
.RowSource = vbNullString
'Set back so it updates, use a new RowSource
.RowSource = strRowSource
End With

'myTag = True

Sheet3.Cells(aaa + 2, 1) = UserForm1.TextBox50.Text
Sheet3.Cells(aaa + 2, 5) = UserForm1.TextBox51.Text
Sheet3.Cells(aaa + 2, 2) = UserForm1.ComboBox2.Text
Sheet3.Cells(aaa + 2, 3) = UserForm1.ComboBox3.Text
Sheet3.Cells(aaa + 2, 4) = UserForm1.ComboBox4.Text
Sheet3.Cells(aaa + 2, 6) = UserForm1.ComboBox1.Text
Sheet3.Cells(aaa + 2, 7) = UserForm1.ComboBox5.Text
Sheet3.Cells(aaa + 2, 8) = UserForm1.TextBox57.Text
Sheet3.Cells(aaa + 2, 11) = UserForm1.TextBox60.Text

ListBox1.ListIndex = aaa 'Retablir ListIndex

Else
Dim response
response = MsgBox("Only Administrators can amend this Database!",
vbCritical, "Warning!")
End If
'myTag = False

End Sub

Mishell


"Daniel.C" a écrit dans le message de news:

Denis, je viens de reproduire le problème. Je pense que cela vient du
fait que le listbox est rempli avec la propriété "rowsource". Quand on
modifie une cellule de la plage rowsource, cela doit déclencher la
macro listbox1_change.
Daniel

Bonjour Daniel,

Tu as une solution viable avec l'usage d'une variable booléenne.

Je serais curieux de savoir qu'elle était la version d'Excel avec
laquelle
l'application a été développée... mais ça relève plus du "bug" que
d'une
explication rationnelle.

Si on devait tenter une explication, on pourrait la formuler comme
suit :
Lorsque tu cliques sur le bouton "Update" le fait que tu édites une
cellule de la feuille qui est la source (RowSource) du listbox, cela
provoque
l'événement change car le "contenu" du listbox s'en trouve modifier.
D'ailleurs, si tu modifies l'événement "Listbox1_Change" pour
l'"événement_clic" le résultat est le même.

Heureusement, la situation a été corrigée avec les versions 2003 et
2007. Je n'ai pu tester avec les versions précédentes. Nul n'est tenu
à l'impossible !
;-)



"Daniel.C" a écrit dans le message de
groupe de discussion :
Je n'en ai pas vu, mais, comme il y a pas mal de contrôles, je peux
en
avoir loupé un.
Le classeur est là :
http://www.cijoint.fr/cjlink.php?file=cj201003/cijcAMZUlG.xls
Choisis la feuille Sheet1, clique sur le bouton "Log claims" et le
userform1 s'affiche. Clique sur l'onglet "Daily throughput" du
multipage, puis sur l'onglet "List of Claims". Les données de Sheet3
s'affichent dans le listbox. Choisis une ligne et clique sur "Edit".
On
te demande le mot de passe (Mango0ne) (o, zéro). Change une donnée et
clique sur Update. Si tu as mis un point d'arrêt au début de la macro
:
Private Sub CommandButton10_Click()
tu peux observer ce que j'ai décrit.
Daniel

En attendant d'avoir sa réponse, tu peux toujours
vérifier si certains contrôles du formulaire utilisent
la propriété "ControlSource". Si oui, tu as ta réponse !
;-)



"Daniel.C" a écrit dans le message de
groupe de
discussion :
Je viens de recréer un classeur reprenant cette partie du code et je
ne
reproduis pas le problème. Je vais demander à l'auteur du classeur
la
permission de mettre son classeur sur cjoint.
Merci de ton implication.
Daniel

Bonjour Daniel,

Voici un exemple : http://cjoint.com/?dhumtUCl3M
L'exemple présenté ne fait pas déclencher l'événement.
Mais comme il y a plusieurs façons de procéder, je vais
attendre que tu présentes ta manière de procéder avant
d'aller de l'avant.






"Daniel.C" a écrit dans le message de
groupe de
discussion :
Bonjour à tous.

Quelqu'un peut-il m'expliquer pourquoi, lorsque j'exécute la
commande :

Feuil3.Cells(ListBox1.ListIndex + 2, 1) = UserForm1.TextBox2.Text

la macro évènementielle "ListBox1_Change" se déclenche ? (la ligne
se
trouve dans le code de CommandButton_Click). J'ai contourné avec un
switch, mais je voudrais comprendre.

Merci d'avance.

Daniel




















Avatar
Daniel.C
Tout juste, 0a fonctionne impec.
Daniel

Je viens de tester sur Excel 2003 et 97, et l'événement ListBox1_Change n'est
plus déclenché après :
With ListBox1
strRowSource = .RowSource
.RowSource = vbNullString
.RowSource = strRowSource
End With



"Daniel.C" a écrit dans le message de news:

Et pourtant, si. J'ai réalisé un petit classeur ce matin pour m'en assurer.
Daniel

Je ne comprends pas ce que tu dis
car le listbox_change n'est plus déclenché par les modifications sur la
feuille
après la réinitialisation de la propriété RowSource.

Exemple:
Sheet3.Cells(aaa + 2, 1) = UserForm1.TextBox50.Text
modifie la feuille et le Listbox est automatiquement mis à jour sans que
l'événement Listbox_Change soit déclenché.


Mishell


"Daniel.C" a écrit dans le message de news:
Omd%
Bonjour.

Merci, mais le listbox_change réinialise les autres contrôles sans que le
listindex change.

Cordialement.

Daniel

Private Sub CommandButton10_Click()

aaa = ListBox1.ListIndex 'Memoriser ListIndex


If Database_Unlocked = True Then

Dim strRowSource As String
With ListBox1
strRowSource = .RowSource
.RowSource = vbNullString
'Set back so it updates, use a new RowSource
.RowSource = strRowSource
End With

'myTag = True

Sheet3.Cells(aaa + 2, 1) = UserForm1.TextBox50.Text
Sheet3.Cells(aaa + 2, 5) = UserForm1.TextBox51.Text
Sheet3.Cells(aaa + 2, 2) = UserForm1.ComboBox2.Text
Sheet3.Cells(aaa + 2, 3) = UserForm1.ComboBox3.Text
Sheet3.Cells(aaa + 2, 4) = UserForm1.ComboBox4.Text
Sheet3.Cells(aaa + 2, 6) = UserForm1.ComboBox1.Text
Sheet3.Cells(aaa + 2, 7) = UserForm1.ComboBox5.Text
Sheet3.Cells(aaa + 2, 8) = UserForm1.TextBox57.Text
Sheet3.Cells(aaa + 2, 11) = UserForm1.TextBox60.Text

ListBox1.ListIndex = aaa 'Retablir ListIndex

Else
Dim response
response = MsgBox("Only Administrators can amend this Database!",
vbCritical, "Warning!")
End If
'myTag = False

End Sub

Mishell


"Daniel.C" a écrit dans le message de news:

Denis, je viens de reproduire le problème. Je pense que cela vient du
fait que le listbox est rempli avec la propriété "rowsource". Quand on
modifie une cellule de la plage rowsource, cela doit déclencher la
macro listbox1_change.
Daniel

Bonjour Daniel,

Tu as une solution viable avec l'usage d'une variable booléenne.

Je serais curieux de savoir qu'elle était la version d'Excel avec
laquelle
l'application a été développée... mais ça relève plus du "bug" que
d'une
explication rationnelle.

Si on devait tenter une explication, on pourrait la formuler comme
suit :
Lorsque tu cliques sur le bouton "Update" le fait que tu édites une
cellule de la feuille qui est la source (RowSource) du listbox, cela
provoque
l'événement change car le "contenu" du listbox s'en trouve modifier.
D'ailleurs, si tu modifies l'événement "Listbox1_Change" pour
l'"événement_clic" le résultat est le même.

Heureusement, la situation a été corrigée avec les versions 2003 et
2007. Je n'ai pu tester avec les versions précédentes. Nul n'est tenu
à l'impossible !
;-)



"Daniel.C" a écrit dans le message de
groupe de discussion :
Je n'en ai pas vu, mais, comme il y a pas mal de contrôles, je peux en
avoir loupé un.
Le classeur est là :
http://www.cijoint.fr/cjlink.php?file=cj201003/cijcAMZUlG.xls
Choisis la feuille Sheet1, clique sur le bouton "Log claims" et le
userform1 s'affiche. Clique sur l'onglet "Daily throughput" du
multipage, puis sur l'onglet "List of Claims". Les données de Sheet3
s'affichent dans le listbox. Choisis une ligne et clique sur "Edit".
On
te demande le mot de passe (Mango0ne) (o, zéro). Change une donnée et
clique sur Update. Si tu as mis un point d'arrêt au début de la macro
:
Private Sub CommandButton10_Click()
tu peux observer ce que j'ai décrit.
Daniel

En attendant d'avoir sa réponse, tu peux toujours
vérifier si certains contrôles du formulaire utilisent
la propriété "ControlSource". Si oui, tu as ta réponse !
;-)



"Daniel.C" a écrit dans le message de
groupe de
discussion :
Je viens de recréer un classeur reprenant cette partie du code et je
ne
reproduis pas le problème. Je vais demander à l'auteur du classeur la
permission de mettre son classeur sur cjoint.
Merci de ton implication.
Daniel

Bonjour Daniel,

Voici un exemple : http://cjoint.com/?dhumtUCl3M
L'exemple présenté ne fait pas déclencher l'événement.
Mais comme il y a plusieurs façons de procéder, je vais
attendre que tu présentes ta manière de procéder avant
d'aller de l'avant.






"Daniel.C" a écrit dans le message de
groupe de
discussion :
Bonjour à tous.

Quelqu'un peut-il m'expliquer pourquoi, lorsque j'exécute la
commande :

Feuil3.Cells(ListBox1.ListIndex + 2, 1) = UserForm1.TextBox2.Text

la macro évènementielle "ListBox1_Change" se déclenche ? (la ligne
se
trouve dans le code de CommandButton_Click). J'ai contourné avec un
switch, mais je voudrais comprendre.

Merci d'avance.

Daniel




















1 2