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

Affecter la valeur d'une liste à une cellule par macro

6 réponses
Avatar
Georges Ecko
Bonjour,

Je suis presque sur que cette question a déjà été posée, mais je ne trouve
pas la réponse dans le forum

J'ai une plage de cellule qui me sert de liste (Données / Validation / Listes)

Après avoir sélectionné une valeur et lancé une macro, j'aimerais en fin de
macro que celle-ci ré attribue la valeur du premier élément de la liste à la
cellule.

Je ne sais pas comment faire alors un tout grand merci pour vos lumières

--
Georges Ecko

Windows XP sp 2
Office 2003

6 réponses

Avatar
JB
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" And Target.Count = 1 Then
MsgBox Target
Application.EnableEvents = False
Target = Sheets("Feuil1").Range("MaListe")(1)
Application.EnableEvents = True
End If
End Sub

http://cjoint.com/?efm52vcNJw

JB
http://boisgontierjacques.free.fr/

On 5 avr, 12:36, Georges Ecko
wrote:
Bonjour,

Je suis presque sur que cette question a déjà été posée, mais je ne trouve
pas la réponse dans le forum

J'ai une plage de cellule qui me sert de liste (Données / Validation / L istes)

Après avoir sélectionné une valeur et lancé une macro, j'aimerais en fin de
macro que celle-ci ré attribue la valeur du premier élément de la li ste à la
cellule.

Je ne sais pas comment faire alors un tout grand merci pour vos lumières

--
Georges Ecko

Windows XP sp 2
Office 2003


Avatar
Georges Eckstein
Bonjour,

Tout d'abord merci pour votre réponse, mais ce n'est pas tout à fait ce que
je cherche, j'avais en effet déjà trouvé cette solution dans un de vos
autres POST, mais elle ne me convient pas !

J'aimerais que le contenu de la cellule soit mise à jour dans une macro de
ce type :

Sub test()
'Mise à blanc des cellules de saisie
Sheets("Page de saisie").Select
Range("B9").Select
Selection.ClearContents
Range("B11").Select
'Ici devrait se trouver l'instruction qui va chercher le premier élément de
la liste appelée ListeCompte afin de le sélectionner dans la cellule (menu
déroulant de sélection
Target = Sheets("Page de saisie").Range("ListeComptes")(1)
Range("B13").Select
Selection.ClearContents
Range("B15:F15").Select
Selection.ClearContents
Range("B17:C17").Select
Selection.ClearContents
End Sub

Une fois encore je vous remercie de votre aide

Bien cordialement

--
Georges Ecko

Windows XP sp 2
Office 2003


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

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" And Target.Count = 1 Then
MsgBox Target
Application.EnableEvents = False
Target = Sheets("Feuil1").Range("MaListe")(1)
Application.EnableEvents = True
End If
End Sub

http://cjoint.com/?efm52vcNJw

JB
http://boisgontierjacques.free.fr/

On 5 avr, 12:36, Georges Ecko
wrote:
Bonjour,

Je suis presque sur que cette question a déjà été posée, mais je ne trouve
pas la réponse dans le forum

J'ai une plage de cellule qui me sert de liste (Données / Validation /
Listes)

Après avoir sélectionné une valeur et lancé une macro, j'aimerais en fin
de
macro que celle-ci ré attribue la valeur du premier élément de la liste à
la
cellule.

Je ne sais pas comment faire alors un tout grand merci pour vos lumières

--
Georges Ecko

Windows XP sp 2
Office 2003


Avatar
Georges Ecko
Bonjour,

J'ai finalement trouvé la solution

Sub test()
'Mise à blanc des cellules de saisie
Sheets("Page de saisie").Select
Range("B9").Select
Selection.ClearContents
Range("B11").Select
ActiveCell.FormulaR1C1 = Sheets("Page de saisie").Range("ListeComptes")(1)
Range("B13").Select
ActiveCell.FormulaR1C1 = Sheets("Page de saisie").Range("ListeComptes")(1)
Range("B15:F15").Select
Selection.ClearContents
Range("B17:C17").Select
Selection.ClearContents
End Sub

et ainsi cela fonctionne parfaitement

Encore merci pour votre aide

--
Georges Ecko

Windows XP sp 2
Office 2003
Avatar
JB
Si on agit sur la feuille à partir de la macro du module, on a des pb
de bouclage.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" And Target.Count = 1 Then
Macrotest Target, Target.Address
Application.EnableEvents = False
Target = Sheets("Feuil1").Range("MaListe")(1)
Application.EnableEvents = True
End If
End Sub

http://cjoint.com/?efolhdYICz

JB

On 5 avr, 13:52, "Georges Eckstein" wrote:
Bonjour,

Tout d'abord merci pour votre réponse, mais ce n'est pas tout à fait c e que
je cherche, j'avais en effet déjà trouvé cette solution dans un de v os
autres POST, mais elle ne me convient pas !

J'aimerais que le contenu de la cellule soit mise à jour dans une macro de
ce type :

Sub test()
'Mise à blanc des cellules de saisie
    Sheets("Page de saisie").Select
    Range("B9").Select
    Selection.ClearContents
    Range("B11").Select
'Ici devrait se trouver l'instruction qui va chercher le premier éléme nt de
la liste appelée ListeCompte afin de le sélectionner dans la cellule ( menu
déroulant de sélection
    Target = Sheets("Page de saisie").Range("ListeComptes")(1)
    Range("B13").Select
    Selection.ClearContents
    Range("B15:F15").Select
    Selection.ClearContents
    Range("B17:C17").Select
    Selection.ClearContents
End Sub

Une fois encore je vous remercie de votre aide

Bien cordialement

--
Georges Ecko

Windows XP sp 2
Office 2003

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

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$D$2" And Target.Count = 1 Then
    MsgBox Target
    Application.EnableEvents = False
    Target = Sheets("Feuil1").Range("MaListe")(1)
    Application.EnableEvents = True
  End If
End Sub

http://cjoint.com/?efm52vcNJw

JBhttp://boisgontierjacques.free.fr/

On 5 avr, 12:36, Georges Ecko
wrote:



Bonjour,

Je suis presque sur que cette question a déjà été posée, mais je ne trouve
pas la réponse dans le forum

J'ai une plage de cellule qui me sert de liste (Données / Validation /
Listes)

Après avoir sélectionné une valeur et lancé une macro, j'aimerai s en fin
de
macro que celle-ci ré attribue la valeur du premier élément de la liste à
la
cellule.

Je ne sais pas comment faire alors un tout grand merci pour vos lumièr es

--
Georges Ecko

Windows XP sp 2
Office 2003- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Georges Ecko
Bonjour,

Je ne comprends pas votre message "problème de bouclage"

Serait-ce à dire que la solution qui me semble fonctionner (cf. mon
précédent POST) risque de me poser des problème ?

Merci de votre réponse

Bien cordialement

--
Georges Ecko

Windows XP sp 2
Office 2003



Si on agit sur la feuille à partir de la macro du module, on a des pb
de bouclage.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" And Target.Count = 1 Then
Macrotest Target, Target.Address
Application.EnableEvents = False
Target = Sheets("Feuil1").Range("MaListe")(1)
Application.EnableEvents = True
End If
End Sub

http://cjoint.com/?efolhdYICz

JB


Avatar
JB
S'il y a du code qui est affecté à la liste modifiable en D2:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" And Target.Count = 1 Then
MsgBox "coucou"
End If
End Sub

Ce code sera exécuté par la modification de la valeur de D2 faite à
partir de la macro d'un module.

S'il n'y a pas de code, pas de pb.

JB

On 5 avr, 14:19, Georges Ecko
wrote:
Bonjour,

Je ne comprends pas votre message "problème de bouclage"

Serait-ce à dire que la solution qui me semble fonctionner (cf. mon
précédent POST) risque de me poser des problème ?

Merci de votre réponse

Bien cordialement

--
Georges Ecko

Windows XP sp 2
Office 2003




Si on agit sur la feuille à partir de la macro du module, on a des pb
de bouclage.

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$D$2" And Target.Count = 1 Then
    Macrotest Target, Target.Address
    Application.EnableEvents = False
    Target = Sheets("Feuil1").Range("MaListe")(1)
    Application.EnableEvents = True
  End If
End Sub

http://cjoint.com/?efolhdYICz

JB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -