Microsoft 365 Actualisation zone de liste 1er élément

flomag

XLDnaute Nouveau
Bonjour à tous,

Je me permets de vous écrire car je cherche le moyen d'actualiser l'élément sélectionné dans ma zone de liste dynamiquement.

Le pb aujourd'hui et que lorsque je modifie mon texte dans la liste, l'élément chargé dans la zone de liste reste figé et ne prend pas compte du changement effectué dans ma liste. J'aimerai donc que cela soit possible, sauriez-vous comment faire ?

2021-12-01_14-57-02.jpg



2021-12-01_14-57-35.jpg


On voit sur le dernier screenshot que le changement apporté (Maison 0 à la place de Maison 1) n'est pas pris en compte car "figé" par la zone de liste.
Pour avoir la prise en compte je suis obligé de cliquer sur la zone de liste (ce qui me rajoute une étape) et là j'ai bien l'actualisation qui s'opère.

Je précise que je souhaite garder ce fonctionnement de zone de liste car je dois laisser le choix possible si l'élément présenté ne convient pas.

Pensez-vous pouvoir m'aider ?

Bien à vous,
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Flomag,
Si j'ai bien compris, la zone de liste correspond à la première donnée de la liste, tout en conservant la possibilité de modifier cette zone de liste.
En PJ un essai avec en zone de liste une liste déroulante, et un module VBA qui à chaque fois qu'on change la valeur du premier élément de la liste, le recopie dans la zone de liste.
Ainsi Zone de liste n'a pas de formule et la liste déroulante reste opérationnelle.
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [D19]) Is Nothing Then
        [B19] = [D19]
    End If
End Sub
 

Pièces jointes

  • Flomag.xlsm
    13.6 KB · Affichages: 4

flomag

XLDnaute Nouveau
Bonsoir Flomag,
Si j'ai bien compris, la zone de liste correspond à la première donnée de la liste, tout en conservant la possibilité de modifier cette zone de liste.
En PJ un essai avec en zone de liste une liste déroulante, et un module VBA qui à chaque fois qu'on change la valeur du premier élément de la liste, le recopie dans la zone de liste.
Ainsi Zone de liste n'a pas de formule et la liste déroulante reste opérationnelle.
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [D19]) Is Nothing Then
        [B19] = [D19]
    End If
End Sub
Bonjour Sylvanu

Merci pour ta réponse, cela fonctionne comme il faut dans l'exemple.

En revanche, je n'avais pas précisé que le contenu de ma liste en colonne D sont des formules.

En transposant le module dans mon exemple j'observe que si c'est une formule cela ne fonctionne pas.

Saurais-tu me dire comment faire du coup stp ?

Bien à toi,
 

flomag

XLDnaute Nouveau
Bonjour Sylvanu

Merci pour ta réponse, cela fonctionne comme il faut dans l'exemple.

En revanche, je n'avais pas précisé que le contenu de ma liste en colonne D sont des formules.

En transposant le module dans mon exemple j'observe que si c'est une formule cela ne fonctionne pas.

Saurais-tu me dire comment faire du coup stp ?

Bien à toi,
Bonjour Sylvanu,

Je me permets de rebondir sur le sujet pour voir si tu pouvais m'aider suite à ma dernière question ?

Bien à toi,
 

Discussions similaires

Statistiques des forums

Discussions
312 884
Messages
2 093 248
Membres
105 658
dernier inscrit
Mario Richard