Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA - liste d'une ComboBox mise à jour dans XL2003 mais pas dans XL2000

6 réponses
Avatar
twinley
Bonsoir à tous,

J'ai une liste de ComboBox définie par un nom à l'aide d'une formule
décaler=.......
Dans XL2003 ça tourne comme une horloge quand j'ajoute un nom dans la
liste, il apparaît dans la ComboBox.
Dans XL2000 si ma liste est de 6 noms, j'ajoute le 7ème et il n'est pas
intégré dans la Combo.

Existe t-il un moyen simple dans XL2000 d'avoir cette fonction ?
Ou bien dois je transférer ma liste dans une nouvelle feuille avec la
macro event de michdenis ?

'---------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Tblo As Variant
If Target.Column = Range("A1").Column Then
Tblo = Range("A1:A" & Range("A65536").End(xlUp).Row)
UserForm2.ComboBox1.Clear
UserForm2.ComboBox1.List = Tblo
End If

End Sub
'---------------------------------------

Je n'ai pas XL2000 sous la main pour tester et je prépare l'intervention.
Vos réponses me feront gagner du temps.

Merci pour votre aide

twinley

6 réponses

Avatar
michdenis
"twinley" a écrit dans le message de news:


Bonsoir à tous,

J'ai une liste de ComboBox définie par un nom à l'aide d'une formule
décaler=.......
Dans XL2003 ça tourne comme une horloge quand j'ajoute un nom dans la
liste, il apparaît dans la ComboBox.
Dans XL2000 si ma liste est de 6 noms, j'ajoute le 7ème et il n'est pas
intégré dans la Combo.

Existe t-il un moyen simple dans XL2000 d'avoir cette fonction ?
Ou bien dois je transférer ma liste dans une nouvelle feuille avec la
macro event de michdenis ?

'---------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Tblo As Variant
If Target.Column = Range("A1").Column Then
Tblo = Range("A1:A" & Range("A65536").End(xlUp).Row)
UserForm2.ComboBox1.Clear
UserForm2.ComboBox1.List = Tblo
End If

End Sub
'---------------------------------------

Je n'ai pas XL2000 sous la main pour tester et je prépare l'intervention.
Vos réponses me feront gagner du temps.

Merci pour votre aide

twinley
Avatar
michdenis
Bonjour Twinley,

As tu vérifié que tes procédures événementielles sont toujours activées.

Est-ce toujours la même chose après avoir exécuté ceci :

Sub ActiverÉvenement()
Application.EnableEvents = True
End Sub


Salutations!



"twinley" a écrit dans le message de news:


Bonsoir à tous,

J'ai une liste de ComboBox définie par un nom à l'aide d'une formule
décaler=.......
Dans XL2003 ça tourne comme une horloge quand j'ajoute un nom dans la
liste, il apparaît dans la ComboBox.
Dans XL2000 si ma liste est de 6 noms, j'ajoute le 7ème et il n'est pas
intégré dans la Combo.

Existe t-il un moyen simple dans XL2000 d'avoir cette fonction ?
Ou bien dois je transférer ma liste dans une nouvelle feuille avec la
macro event de michdenis ?

'---------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Tblo As Variant
If Target.Column = Range("A1").Column Then
Tblo = Range("A1:A" & Range("A65536").End(xlUp).Row)
UserForm2.ComboBox1.Clear
UserForm2.ComboBox1.List = Tblo
End If

End Sub
'---------------------------------------

Je n'ai pas XL2000 sous la main pour tester et je prépare l'intervention.
Vos réponses me feront gagner du temps.

Merci pour votre aide

twinley
Avatar
twinley
Bonsoir michdenis

Merci pour ta réponse.

Oui ,les events sont actifs car les autres pages les utilisent.
Comme rien ne semble te choquer, je suppose que la méthode décaler
devrait marcher dans XL2000.
A défaut je vais créer une autre feuille et installer ta sub. Cela ne
m'arrange pas d'ajouter une autre feuille, mais au moins c'est une
solution élégante et automatisée.
A moins que tu vois un autre point à vérifier...

bonne soirée

twinley


michdenis wrote:
Bonjour Twinley,

As tu vérifié que tes procédures événementielles sont toujours activées.

Est-ce toujours la même chose après avoir exécuté ceci :

Sub ActiverÉvenement()
Application.EnableEvents = True
End Sub


Salutations!



"twinley" a écrit dans le message de news:


Bonsoir à tous,

J'ai une liste de ComboBox définie par un nom à l'aide d'une formule
décaler=.......
Dans XL2003 ça tourne comme une horloge quand j'ajoute un nom dans la
liste, il apparaît dans la ComboBox.
Dans XL2000 si ma liste est de 6 noms, j'ajoute le 7ème et il n'est pas
intégré dans la Combo.

Existe t-il un moyen simple dans XL2000 d'avoir cette fonction ?
Ou bien dois je transférer ma liste dans une nouvelle feuille avec la
macro event de michdenis ?

'---------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Tblo As Variant
If Target.Column = Range("A1").Column Then
Tblo = Range("A1:A" & Range("A65536").End(xlUp).Row)
UserForm2.ComboBox1.Clear
UserForm2.ComboBox1.List = Tblo
End If

End Sub
'---------------------------------------

Je n'ai pas XL2000 sous la main pour tester et je prépare l'intervention.
Vos réponses me feront gagner du temps.

Merci pour votre aide

twinley




Avatar
michdenis
Écoute Twinley,

Si tu utilises la propriété "List" de ton combobox pour définir sa liste, tu ne dois pas utliser en même temps la
propriété "RowSource" pour en définir la valeur. Je ne vois pas en quo "Decaler" vient jouer un rôle dans le code que tu
as présenté puisque tu utlises la propriété "List" de ton combobox.


Salutations!



"twinley" a écrit dans le message de news: %
Bonsoir michdenis

Merci pour ta réponse.

Oui ,les events sont actifs car les autres pages les utilisent.
Comme rien ne semble te choquer, je suppose que la méthode décaler
devrait marcher dans XL2000.
A défaut je vais créer une autre feuille et installer ta sub. Cela ne
m'arrange pas d'ajouter une autre feuille, mais au moins c'est une
solution élégante et automatisée.
A moins que tu vois un autre point à vérifier...

bonne soirée

twinley


michdenis wrote:
Bonjour Twinley,

As tu vérifié que tes procédures événementielles sont toujours activées.

Est-ce toujours la même chose après avoir exécuté ceci :

Sub ActiverÉvenement()
Application.EnableEvents = True
End Sub


Salutations!



"twinley" a écrit dans le message de news:


Bonsoir à tous,

J'ai une liste de ComboBox définie par un nom à l'aide d'une formule
décaler=.......
Dans XL2003 ça tourne comme une horloge quand j'ajoute un nom dans la
liste, il apparaît dans la ComboBox.
Dans XL2000 si ma liste est de 6 noms, j'ajoute le 7ème et il n'est pas
intégré dans la Combo.

Existe t-il un moyen simple dans XL2000 d'avoir cette fonction ?
Ou bien dois je transférer ma liste dans une nouvelle feuille avec la
macro event de michdenis ?

'---------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Tblo As Variant
If Target.Column = Range("A1").Column Then
Tblo = Range("A1:A" & Range("A65536").End(xlUp).Row)
UserForm2.ComboBox1.Clear
UserForm2.ComboBox1.List = Tblo
End If

End Sub
'---------------------------------------

Je n'ai pas XL2000 sous la main pour tester et je prépare l'intervention.
Vos réponses me feront gagner du temps.

Merci pour votre aide

twinley




Avatar
twinley
Bsr,

Merci pour tes remarques.
Il y a un ListRows à 8 qui correspond à la première cell vide, puisque
j'ai un titre de colonne suivi de 6 noms dans 6 cellules.
Et en plus, j'ai le nom défini dans RowSource.

Je vais voir cela demain.
Soit je réinitialise cette valeur List Rows, soit la fermeture de la
feuille et sa réouverture réinitialise la liste. J'ai vu un post dans ce
sens à propos d'autre chose.

Réponse demain.

Bonne soirée

à+twinley

michdenis wrote:
Écoute Twinley,

Si tu utilises la propriété "List" de ton combobox pour définir sa liste, tu ne dois pas utliser en même temps la
propriété "RowSource" pour en définir la valeur. Je ne vois pas en quo "Decaler" vient jouer un rôle dans le code que tu
as présenté puisque tu utlises la propriété "List" de ton combobox.


Salutations!



"twinley" a écrit dans le message de news: %
Bonsoir michdenis

Merci pour ta réponse.

Oui ,les events sont actifs car les autres pages les utilisent.
Comme rien ne semble te choquer, je suppose que la méthode décaler
devrait marcher dans XL2000.
A défaut je vais créer une autre feuille et installer ta sub. Cela ne
m'arrange pas d'ajouter une autre feuille, mais au moins c'est une
solution élégante et automatisée.
A moins que tu vois un autre point à vérifier...

bonne soirée

twinley


michdenis wrote:

Bonjour Twinley,

As tu vérifié que tes procédures événementielles sont toujours activées.

Est-ce toujours la même chose après avoir exécuté ceci :

Sub ActiverÉvenement()
Application.EnableEvents = True
End Sub


Salutations!



"twinley" a écrit dans le message de news:


Bonsoir à tous,

J'ai une liste de ComboBox définie par un nom à l'aide d'une formule
décaler=.......
Dans XL2003 ça tourne comme une horloge quand j'ajoute un nom dans la
liste, il apparaît dans la ComboBox.
Dans XL2000 si ma liste est de 6 noms, j'ajoute le 7ème et il n'est pas
intégré dans la Combo.

Existe t-il un moyen simple dans XL2000 d'avoir cette fonction ?
Ou bien dois je transférer ma liste dans une nouvelle feuille avec la
macro event de michdenis ?

'---------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Tblo As Variant
If Target.Column = Range("A1").Column Then
Tblo = Range("A1:A" & Range("A65536").End(xlUp).Row)
UserForm2.ComboBox1.Clear
UserForm2.ComboBox1.List = Tblo
End If

End Sub
'---------------------------------------

Je n'ai pas XL2000 sous la main pour tester et je prépare l'intervention.
Vos réponses me feront gagner du temps.

Merci pour votre aide

twinley









Avatar
twinley
Bonjour,

Obligé de modifier mon bonjour à tous... on va pouvoir faire un élevage.

En XL2000, après l'ajout d'un nom supplémentaire dans la liste qui
constitue les choix de combobox, il faut fermer le classeur et l'ouvrir
à nouveau. La liste est mise à jour.

En XL2003 c'est instantané.

Merci pour l'aide.

twinley


twinley wrote:

Bsr,

Merci pour tes remarques.
Il y a un ListRows à 8 qui correspond à la première cell vide, puisque
j'ai un titre de colonne suivi de 6 noms dans 6 cellules.
Et en plus, j'ai le nom défini dans RowSource.

Je vais voir cela demain.
Soit je réinitialise cette valeur List Rows, soit la fermeture de la
feuille et sa réouverture réinitialise la liste. J'ai vu un post dans ce
sens à propos d'autre chose.

Réponse demain.

Bonne soirée

à+twinley

michdenis wrote:

Écoute Twinley,

Si tu utilises la propriété "List" de ton combobox pour définir sa
liste, tu ne dois pas utliser en même temps la propriété "RowSource"
pour en définir la valeur. Je ne vois pas en quo "Decaler" vient jouer
un rôle dans le code que tu as présenté puisque tu utlises la
propriété "List" de ton combobox.


Salutations!



"twinley" a écrit dans le message de news:
%
Bonsoir michdenis

Merci pour ta réponse.

Oui ,les events sont actifs car les autres pages les utilisent.
Comme rien ne semble te choquer, je suppose que la méthode décaler
devrait marcher dans XL2000.
A défaut je vais créer une autre feuille et installer ta sub. Cela ne
m'arrange pas d'ajouter une autre feuille, mais au moins c'est une
solution élégante et automatisée.
A moins que tu vois un autre point à vérifier...

bonne soirée

twinley


michdenis wrote:

Bonjour Twinley,

As tu vérifié que tes procédures événementielles sont toujours activées.

Est-ce toujours la même chose après avoir exécuté ceci :

Sub ActiverÉvenement()
Application.EnableEvents = True
End Sub


Salutations!



"twinley" a écrit dans le message de news:



Bonsoir à tous,

J'ai une liste de ComboBox définie par un nom à l'aide d'une formule
décaler=.......
Dans XL2003 ça tourne comme une horloge quand j'ajoute un nom dans la
liste, il apparaît dans la ComboBox.
Dans XL2000 si ma liste est de 6 noms, j'ajoute le 7ème et il n'est pas
intégré dans la Combo.

Existe t-il un moyen simple dans XL2000 d'avoir cette fonction ?
Ou bien dois je transférer ma liste dans une nouvelle feuille avec la
macro event de michdenis ?

'---------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Tblo As Variant
If Target.Column = Range("A1").Column Then
Tblo = Range("A1:A" & Range("A65536").End(xlUp).Row)
UserForm2.ComboBox1.Clear
UserForm2.ComboBox1.List = Tblo
End If

End Sub
'---------------------------------------

Je n'ai pas XL2000 sous la main pour tester et je prépare
l'intervention.
Vos réponses me feront gagner du temps.

Merci pour votre aide

twinley