Ouvrir une boite de dialogue à partir d'une liste déroulante

Bonjour,
Est il possible d'ouvrir une boite de dialogue à partir d'un choix dans une liste déroulante?

J'ai créé la boite de dialogue dans le VBA mais je ne sais pas comment créer le code.

Quelqu'un peut il m'aider?
Merci beaucoup et bonne journée!

15excel.xlsm (19.39 Ko)

Bonjour à tous,

Une tentative :

Dans le code de la Feuil1 ("Tableau_suivi"), insère ceci :

Private Sub Worksheet_Change(ByVal Target As Range)

  If Not Intersect(Target, Range("Tableau1[Etat]")) Is Nothing Then

       If Target.Value2 = "Reconduite" Then UserForm1.Show

  End If

End Sub

bastr

Bonjour,

J'essayerais ceci :

1. feuille Tableau suivi
- Click droite sur l'onglet de la feuille Tableau Suivi
- choisir "visualiser le code"
- dans le fenêtre, collez le code ci-dessous

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, ListObjects(1).ListColumns(11).DataBodyRange) Is Nothing Then
    If Target.Value = "Reconduite" Then
        ligne = Target.Row - ListObjects(1).HeaderRowRange.Row
        UserForm1.Show
    End If
End If
End Sub

2. Userform
- collez le code ci-dessous dans l'userform

Private Sub CommandButton1_Click()

If Not IsNumeric(TextBox1) Then TextBox1 = vbNullString: Exit Sub
With Sheets("Tableau_suivi").ListObjects(1)
    If TextBox1 <> vbNullString Then .DataBodyRange(ligne, 10) = .DataBodyRange(ligne, 10) + CDbl(TextBox1.Value)
End With
End Sub

3. Editeur VBA
- Allez dans l'éditeur VBA
- Dans le menu Insertion, choisir "Module"
- dans la fenêtre, ajoutez cette ligne

Public ligne As Integer

Cordialement


Edit : https://forum.excel-pratique.com/s/goto/1135394 --> ajouté guillemets à Tableau_suivi dans le code

super! Merci! j'ai oublié dans mon titre mais ma demande allait un peu plus loin, je voulais savoir comment faire ensuite pour additionner la valeur inscrite dans la textbox à la cellule de gauche correspondante au choix "reconduite".

si cela nécessite d'ouvrir un autre sujet. Aucun souci.

Merci encore!

re

je voulais savoir comment faire ensuite pour additionner la valeur inscrite dans la textbox à la cellule de gauche correspondante au choix "reconduite".

Heu.... vous avez regardé ce que je vous ai proposé ??? ... Je n'en ai pas l'impression

si cela nécessite d'ouvrir un autre sujet. Aucun souci.

Non nul besoin. Il est préférable de rester sur ce fil.

ah pardonnez moi. je n'avais pas vu votre réponse...

j'ai testé et j'ai une erreur au niveau de cette ligne la : With Sheets(Tableau_suivi).ListObjects(1)

Normalement, j'ai collé aux bons endroits les éléments ^^

11excel.xlsm (25.06 Ko)

j'ai testé et j'ai une erreur au niveau de cette ligne la : With Sheets(Tableau_suivi).ListObjects(1)

Oui je vois c'est assez incompréhensible d'ailleurs car le nom est bien identique
Uniquement dans le code remplacez Sheets("Tableau_suivi") par --> FEUIL1

EDIT : oups désolé j'ai omis de mettre les guillemets dans le code --> cela doit être ceci --> With Sheets("Tableau_suivi").ListObjects(1)
C'est corrigé dans le code dans mon post précédent

Bonjour, Nossila et Bonjour Dan,

J'ajouterai quand même à la fin une fermeture de userform pour montrer à l'utilisateur que la donnée est bien modifiée et éviter un second clic.

End With
Unload Me
End sub

Bonjour XmenPl

C'était prévu. J'attendais juste le retour du membre Nossila2154 afin de voir ce qu'il voulait ajouter
Soit décharger l'Userform après ajout, soit seulement vider la textbox

Quid ?

merci c'est nickel! :) avec le dernier petit code c'est parfait! Merci encore.

Bonne journée!

Rechercher des sujets similaires à "ouvrir boite dialogue partir liste deroulante"