Créer un "popup" d'entrée de donnée sur une cellule

mathieu.cxp

XLDnaute Nouveau
Bonjour à tous.

Tou d'abord un grand bravo pour votre super site/forum, une vraie mine d'info, je me demande comment j'ai pu m'en passer :confused::)

Voici ma question, à laquelle jusqu'à présent, je n'ai pas trouvé de réponse :-/

Mon but :
Dans une feuille excel (somme toute assez classique), je souhaiterai avoir un popup d'entrée d'information.

La base : mon fichier actuel :
J'ai un fichier de suivit de quotation. Par client, je peux avoir plusieurs quotations en cours. Pour savoir si une cotation est gagnée ou non, je me base sur la présence ou non d'un numéro de commande. ça c'est l'état actuel des choses.
Ce que je voudrais comme évolution :
Pour chaque ligne de quotation, j'ai une case "commande". Je souhaiterai que lors d'un clic sur cette case, un popup apparaisse. Ce pop-up servirait à entrer des informations telles que la date de la commande correspondant à la quotation, le numéro de commande, le nombre commandé, le CA... etc (6 champs au total).

Vu que mon fichier fait environ 200 lignes actuellement, je pense que l'utilisation d'un bouton pour chaque case est trop fastidieuse.
Je me demandais si une utilisation combinée de signet/hypertexte/macro/userform pouvait pas faire l'affaire.

Merci d'avance à tous ceux qui se pencheront sur mon problème.

PS : si vous avez besoin de plus d'infos, surtout n'hésitez pas.

Bonne journée.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Créer un "popup" d'entrée de donnée sur une cellule

Salut Mathieu,

voici qq explications

Code:
Private Sub CommandButton1_Click() [COLOR="Blue"]  le code qui suit s'exécutera suite à un clic sur le bouton "Valider" de l'userform[/COLOR]
Application.ScreenUpdating = False  [COLOR="blue"]c'est pour figer l'affichage  de la feuille pendant l'exécution de la macro[/COLOR]
Dim derligne [COLOR="blue"]je déclare les variables  'derligne' et 'pos'[/COLOR]
Dim pos
Sheets("SUIVIT DES COMMANDES").Select [COLOR="blue"]pour se positionner sur cette feuille[/COLOR]
derligne = Sheets(1).Range("A65000").End(xlUp).Row + 1 [COLOR="blue"]pour rechercher la dernière ligne de la colonne A et on ajoute 1 pour avoir la permière ligne vide dans laquelle seront mises lee données acquises via l'userform[/COLOR]

If TextBox1.Value = "" Then [COLOR="blue"]si le textbox1 est vide (si 'Quote #' n'est pas rempli) [/COLOR]    
    Label14.Visible = True [COLOR="blue"]on affiche le message "La zone de saisie QUOTE # doit être remplie[/COLOR]
    Exit Sub  [COLOR="blue"]et on sort de la procédure[/COLOR]
End If  [COLOR="blue"]pour marquer la fin du test[/COLOR]

[COLOR="blue"]les lignes ci-dessous font passer le contenu des "textbox" dans les cellules a,b,c,d,............... de la première ligne vide[/COLOR]
Range("A" & derligne).Value = TextBox1.Value
Range("b" & derligne).Value = TextBox2.Value
Range("d" & derligne).Value = TextBox3.Value
Range("e" & derligne).Value = TextBox4.Value
Range("f" & derligne).Value = TextBox12.Value
Range("g" & derligne).Value = TextBox5.Value
Range("h" & derligne).Value = TextBox6.Value
Range("i" & derligne).Value = TextBox7.Value
Range("j" & derligne).Value = TextBox8.Value
Range("k" & derligne).Value = TextBox9.Value
Range("l" & derligne).Value = TextBox10.Value
Range("m" & derligne).Value = TextBox11.Value
Range("c" & derligne).Value = DTPicker1.Value

[COLOR="blue"]les lignes qui suivent effacent le contenu des textbox ( les différentes cases à remplir se trouvant dans l'userform)[/COLOR]
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
TextBox8.Value = ""
TextBox9.Value = ""
TextBox10.Value = ""
TextBox11.Value = ""
TextBox12.Value = ""
Label14.Visible = False  [COLOR="blue"]pour effacer ( ne plus afficher) le message remplir Quote#[/COLOR]

Application.ScreenUpdating = True [COLOR="blue"]puisqu'on l'avait mis à False au début de cette procédure[/COLOR]
End Sub  [COLOR="blue"]Fin de la procédure CommandButton1_Click[/COLOR]

Private Sub CommandButton2_Click() [COLOR="blue"]Procédure lorsque "Clic" sur le bouton 3Quitter" de l'userform[/COLOR]
UserForm1.Hide  [COLOR="blue"]pour cacher l'userform[/COLOR]
End Sub [COLOR="blue"]Fin de la  procédure[/COLOR]

concernant le double-clic sur l'autre feuille

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)


Application.ScreenUpdating = False

pos = ActiveCell.Row [COLOR="blue"]pour déterminer le numéro de ligne sur laquelle on vient de "double-cliquer"[/COLOR]

[COLOR="blue"]les 4 lignes suivantes vont chercher le contenu des cellules a,b,c,et d pour le s mettre dans les 4 premières zonez à remplir de l'userform[/COLOR]
UserForm1.TextBox1.Value = Range("A" & pos).Value
UserForm1.TextBox2.Value = Range("b" & pos).Value
UserForm1.DTPicker1.Value = Range("c" & pos).Value
UserForm1.TextBox3.Value = Range("d" & pos).Value
[COLOR="blue"]ensuite on affiche l'userform dans lequel les quatres premières zones sont remplies[/COLOR]
UserForm1.Show
[COLOR="blue"]les deux lignes suivantes ne servent à rien, c'est sans doute un reliquat qui est venu avec l'enregistreur de macros[/COLOR]
Sheets("Offres").Select
Range("a1").Select

Application.ScreenUpdating = True
End Sub

Ma fille ayant réalisé ce fichier qui semble te convenir, je viens de le découvrir et j'espère avoir répondu à toutes tes questions

Philippe
 

mathieu.cxp

XLDnaute Nouveau
Re : Créer un "popup" d'entrée de donnée sur une cellule

Super, merci pour les commentaires.

Quelques questions concernant les macros :

Code:
UserForm1.TextBox1.Value = Range("A" & pos).Value
UserForm1.TextBox2.Value = Range("b" & pos).Value
UserForm1.DTPicker1.Value = Range("c" & pos).Value
UserForm1.TextBox3.Value = Range("d" & pos).Value

Pourquoi y en a-t-il 2 types différents ? Est-ce en fonction du type de donnée dans la cellule ?

Code:
pos = ActiveCell.Row
Pour autoriser le double clic uniquement dans une cellule le code devrait ressembler à quoi ?

Comment faire pour recréer tout ceci dans une feuille excel déjà existante ? un "simple copier/coller" ? Faut-il reconstruire le formulaire (si oui, comment s'y prendre ou avez vous un article à me conseiller ? ) ? le copier ?

C'est vraiment super en tout cas, je vous dis vraiment un grand grand merci pour votre aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 233
Membres
103 161
dernier inscrit
Rogombe bryan