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

Liste déroulante modifiable

3 réponses
Avatar
Isa
Bonjour,

J'ai créé dans une cellule une liste déroulante qui regroupe des valeurs se
trouvant sur un autre onglet.
Je voudrais savoir si on peut permettre aux utilisateurs de saisir une
donnée (par exemple, si c'est une nouvelle valeur, la saisir directement dans
la liste déroulante)
D'avance merci de vos réponses.

3 réponses

Avatar
JB
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If IsError(Application.Match(Target.Value, [Liste], 0)) Then
If MsgBox("On ajoute?", vbYesNo) = vbYes Then
[Liste].End(xlDown).Offset(1, 0) = Target.Value
Sheets("Liste").[Liste].Sort
key1:=Sheets("Liste").Range("A2")
Else
Application.Undo
End If
End If
End If
End Sub

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#DVAjoutLi ste
http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DV_AjoutListe.x ls

JB
http://boisgontierjacques.free.fr/

On 1 avr, 16:06, Isa wrote:
Bonjour,

J'ai créé dans une cellule une liste déroulante qui regroupe des val eurs se
trouvant sur un autre onglet.
Je voudrais savoir si on peut permettre aux utilisateurs de saisir une
donnée (par exemple, si c'est une nouvelle valeur, la saisir directement dans
la liste déroulante)
D'avance merci de vos réponses.


Avatar
Isa
Un grand merci pour ton aide, c'est ce que je voulais.

Par contre, je ne sais pas où mettre ce bout de code.
Dans l'idéal, j'aurai voulu que dès que la personne sorte de la cellule, le
message apparaisse mais est ce possible ?
Merci.

"JB" wrote:

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If IsError(Application.Match(Target.Value, [Liste], 0)) Then
If MsgBox("On ajoute?", vbYesNo) = vbYes Then
[Liste].End(xlDown).Offset(1, 0) = Target.Value
Sheets("Liste").[Liste].Sort
key1:=Sheets("Liste").Range("A2")
Else
Application.Undo
End If
End If
End If
End Sub

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#DVAjoutListe
http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DV_AjoutListe.xls

JB
http://boisgontierjacques.free.fr/

On 1 avr, 16:06, Isa wrote:
Bonjour,

J'ai créé dans une cellule une liste déroulante qui regroupe des valeurs se
trouvant sur un autre onglet.
Je voudrais savoir si on peut permettre aux utilisateurs de saisir une
donnée (par exemple, si c'est une nouvelle valeur, la saisir directement dans
la liste déroulante)
D'avance merci de vos réponses.






Avatar
JB
Pour voir le code:
-Clic-droit sur nom onglet/Visualiser le code


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If IsError(Application.Match(Target.Value, [Liste], 0)) Then
[Liste].End(xlDown).Offset(1, 0) = Target.Value
Sheets("Liste").[Liste].Sort key1:=Sheets("Liste").Range("A2")
MsgBox "code ajouté"
Else
Application.Undo
End If
End If
End Sub

JB

On 1 avr, 17:11, Isa wrote:
Un grand merci pour ton aide, c'est ce que je voulais.

Par contre, je ne sais pas où mettre ce bout de code.
Dans l'idéal, j'aurai voulu que dès que la personne sorte de la cellul e, le
message apparaisse mais est ce possible ?
Merci.



"JB" wrote:
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$B$2" Then
     If IsError(Application.Match(Target.Value, [Liste], 0)) Then
        If MsgBox("On ajoute?", vbYesNo) = vbYes Then
           [Liste].End(xlDown).Offset(1, 0) = Target.Value
           Sheets("Liste").[Liste].Sort
key1:=Sheets("Liste").Range("A2")
        Else
           Application.Undo
        End If
     End If
   End If
End Sub

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#DV...
http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DV_Ajout...

JB
http://boisgontierjacques.free.fr/

On 1 avr, 16:06, Isa wrote:
Bonjour,

J'ai créé dans une cellule une liste déroulante qui regroupe des valeurs se
trouvant sur un autre onglet.
Je voudrais savoir si on peut permettre aux utilisateurs de saisir une
donnée (par exemple, si c'est une nouvelle valeur, la saisir directe ment dans
la liste déroulante)
D'avance merci de vos réponses.- Masquer le texte des messages pré cédents -



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