Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source
sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante
il y a une série de commande qui s'effectue. Je veux que la série de commande
se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de
la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je
sélectionne un nouveau nom de ma liste déroulante?
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
anonymousA
bonsoir,
envoies ton code car je ne comprnds pas ta demande. Ton menu déroulant dont tu parles , c'est quoi, une liste de validation, un combobox ?
Merci de préciser car j'ai fait une ssai avec un combobobox rempli par LIstfillrange sur une source de feuille différente et quand je change une des valeurs sources, l'evenement Change du combobox ne se déclenche pas.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante il y a une série de commande qui s'effectue. Je veux que la série de commande se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je sélectionne un nouveau nom de ma liste déroulante?
Merci
Patrice
bonsoir,
envoies ton code car je ne comprnds pas ta demande. Ton menu déroulant
dont tu parles , c'est quoi, une liste de validation, un combobox ?
Merci de préciser car j'ai fait une ssai avec un combobobox rempli par
LIstfillrange sur une source de feuille différente et quand je change
une des valeurs sources, l'evenement Change du combobox ne se déclenche pas.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source
sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante
il y a une série de commande qui s'effectue. Je veux que la série de commande
se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de
la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je
sélectionne un nouveau nom de ma liste déroulante?
envoies ton code car je ne comprnds pas ta demande. Ton menu déroulant dont tu parles , c'est quoi, une liste de validation, un combobox ?
Merci de préciser car j'ai fait une ssai avec un combobobox rempli par LIstfillrange sur une source de feuille différente et quand je change une des valeurs sources, l'evenement Change du combobox ne se déclenche pas.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante il y a une série de commande qui s'effectue. Je veux que la série de commande se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je sélectionne un nouveau nom de ma liste déroulante?
Merci
Patrice
anonymousA
bonsoir,
un workaround à mettre dans le module de fueille qui accueille le combobox
Dim flag As Boolean 'a déclarer dans la section déclarations du module
Private Sub ComboBox1_Change()
If flag = True Then MsgBox "toto" flag = False End If
End Sub
Private Sub ComboBox1_GotFocus()
flag = True
End Sub
En l'occurence, si tu changes quelque chose à la source, bien sur le combobox n' a pas le focus et donc flag reste à false. En conséquence, quand tu chnages la valeur , l'evenement change est affecté mais comme flagúlse , il ne spasse rien. Bien sur, si tu changes quelque chose sur le combobox lui-même, le focus lui a forcément été passé et dans ces conditions, flag evient true et la procédure Change peut s'exécuter normalement. Il faut par contre remettre flag à false à la fin pour pouvoir remtter les pendules à l'heure.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante il y a une série de commande qui s'effectue. Je veux que la série de commande se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je sélectionne un nouveau nom de ma liste déroulante?
Merci
Patrice
bonsoir,
un workaround à mettre dans le module de fueille qui accueille le combobox
Dim flag As Boolean 'a déclarer dans la section déclarations du module
Private Sub ComboBox1_Change()
If flag = True Then
MsgBox "toto"
flag = False
End If
End Sub
Private Sub ComboBox1_GotFocus()
flag = True
End Sub
En l'occurence, si tu changes quelque chose à la source, bien sur le
combobox n' a pas le focus et donc flag reste à false. En conséquence,
quand tu chnages la valeur , l'evenement change est affecté mais comme
flagúlse , il ne spasse rien. Bien sur, si tu changes quelque chose
sur le combobox lui-même, le focus lui a forcément été passé et dans ces
conditions, flag evient true et la procédure Change peut s'exécuter
normalement. Il faut par contre remettre flag à false à la fin pour
pouvoir remtter les pendules à l'heure.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source
sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante
il y a une série de commande qui s'effectue. Je veux que la série de commande
se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de
la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je
sélectionne un nouveau nom de ma liste déroulante?
un workaround à mettre dans le module de fueille qui accueille le combobox
Dim flag As Boolean 'a déclarer dans la section déclarations du module
Private Sub ComboBox1_Change()
If flag = True Then MsgBox "toto" flag = False End If
End Sub
Private Sub ComboBox1_GotFocus()
flag = True
End Sub
En l'occurence, si tu changes quelque chose à la source, bien sur le combobox n' a pas le focus et donc flag reste à false. En conséquence, quand tu chnages la valeur , l'evenement change est affecté mais comme flagúlse , il ne spasse rien. Bien sur, si tu changes quelque chose sur le combobox lui-même, le focus lui a forcément été passé et dans ces conditions, flag evient true et la procédure Change peut s'exécuter normalement. Il faut par contre remettre flag à false à la fin pour pouvoir remtter les pendules à l'heure.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante il y a une série de commande qui s'effectue. Je veux que la série de commande se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je sélectionne un nouveau nom de ma liste déroulante?
Merci
Patrice
Pat59
J'ai refais un test aussi.
Voici le code du comboBox qui est sur la feuille "F1" La plage de données source est sur la feuille "F2"
Private Sub ComboBox1_Change() MsgBox "changement" End Sub
et quand je change ou ajoute un nom à la plage de données sur "F2 "j'obtiens le message "Changement"
Avec le technique du flag sur getfocus c'est ok.
Merci
"anonymousA" wrote:
bonsoir,
un workaround à mettre dans le module de fueille qui accueille le combobox
Dim flag As Boolean 'a déclarer dans la section déclarations du module
Private Sub ComboBox1_Change()
If flag = True Then MsgBox "toto" flag = False End If
End Sub
Private Sub ComboBox1_GotFocus()
flag = True
End Sub
En l'occurence, si tu changes quelque chose à la source, bien sur le combobox n' a pas le focus et donc flag reste à false. En conséquence, quand tu chnages la valeur , l'evenement change est affecté mais comme flagúlse , il ne spasse rien. Bien sur, si tu changes quelque chose sur le combobox lui-même, le focus lui a forcément été passé et dans ces conditions, flag evient true et la procédure Change peut s'exécuter normalement. Il faut par contre remettre flag à false à la fin pour pouvoir remtter les pendules à l'heure.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante il y a une série de commande qui s'effectue. Je veux que la série de commande se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je sélectionne un nouveau nom de ma liste déroulante?
Merci
Patrice
J'ai refais un test aussi.
Voici le code du comboBox qui est sur la feuille "F1"
La plage de données source est sur la feuille "F2"
Private Sub ComboBox1_Change()
MsgBox "changement"
End Sub
et quand je change ou ajoute un nom à la plage de données sur "F2 "j'obtiens
le message "Changement"
Avec le technique du flag sur getfocus c'est ok.
Merci
"anonymousA" wrote:
bonsoir,
un workaround à mettre dans le module de fueille qui accueille le combobox
Dim flag As Boolean 'a déclarer dans la section déclarations du module
Private Sub ComboBox1_Change()
If flag = True Then
MsgBox "toto"
flag = False
End If
End Sub
Private Sub ComboBox1_GotFocus()
flag = True
End Sub
En l'occurence, si tu changes quelque chose à la source, bien sur le
combobox n' a pas le focus et donc flag reste à false. En conséquence,
quand tu chnages la valeur , l'evenement change est affecté mais comme
flagúlse , il ne spasse rien. Bien sur, si tu changes quelque chose
sur le combobox lui-même, le focus lui a forcément été passé et dans ces
conditions, flag evient true et la procédure Change peut s'exécuter
normalement. Il faut par contre remettre flag à false à la fin pour
pouvoir remtter les pendules à l'heure.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source
sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante
il y a une série de commande qui s'effectue. Je veux que la série de commande
se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de
la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je
sélectionne un nouveau nom de ma liste déroulante?
Voici le code du comboBox qui est sur la feuille "F1" La plage de données source est sur la feuille "F2"
Private Sub ComboBox1_Change() MsgBox "changement" End Sub
et quand je change ou ajoute un nom à la plage de données sur "F2 "j'obtiens le message "Changement"
Avec le technique du flag sur getfocus c'est ok.
Merci
"anonymousA" wrote:
bonsoir,
un workaround à mettre dans le module de fueille qui accueille le combobox
Dim flag As Boolean 'a déclarer dans la section déclarations du module
Private Sub ComboBox1_Change()
If flag = True Then MsgBox "toto" flag = False End If
End Sub
Private Sub ComboBox1_GotFocus()
flag = True
End Sub
En l'occurence, si tu changes quelque chose à la source, bien sur le combobox n' a pas le focus et donc flag reste à false. En conséquence, quand tu chnages la valeur , l'evenement change est affecté mais comme flagúlse , il ne spasse rien. Bien sur, si tu changes quelque chose sur le combobox lui-même, le focus lui a forcément été passé et dans ces conditions, flag evient true et la procédure Change peut s'exécuter normalement. Il faut par contre remettre flag à false à la fin pour pouvoir remtter les pendules à l'heure.
A+
Bonjour,
J'ai un petit problème.
Sur une feuille de calcul (F1) j'ai un menu déroulant qui prend sa source sur une autre feuille de calcul (F2). Sur changement de ma liste déroulante il y a une série de commande qui s'effectue. Je veux que la série de commande se fasse uniquement lorsque je fait une sélection à partir de ma liste.
Mon problème vient du fait que lorsque je modifie un nom sur F2 (source de la liste) cela déclenche l'évennement change de la liste qui est sur F1.
J'ai essayé des trucs qui n'ont fait que faire planter Excel.
Que puis-je faire pour que le code s'exécute uniquement lorsque je sélectionne un nouveau nom de ma liste déroulante?