Creer une fenetre de saisie sous excel

Fermé
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 - 5 mai 2009 à 13:36
 lauraholt - 2 avril 2013 à 12:33
Bonjour,
Quelqu'un pourrait t-il me donner la démarche a suivre pour creer une fenetre de saisie sous excel afin de pouvoir rentrer des valeurs: par exemple la fenetre me demandrait fruit? et je pourrais rentrer banane cela pour plusieurs catégorie (fruit,prix,quantité) et que mes réponses soit rangé dans un tableau merci d'avance
A voir également:

28 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 mai 2009 à 15:29
Il faut rajouter ceci dans la procédure Sub CommanButton1_Click():

Dim lastRow As Integer    
lastRow = ThisWorkbook.Worksheets(1).Range("A65536").End(xlUp).Row

Le code devient celui là dans mon exemple du post 1:
Private Sub CommandButton1_Click()
Dim lastRow As Long

    lastRow = ThisWorkbook.Worksheets(1).Range("A65536").End(xlUp).Row
    ThisWorkbook.Worksheets(1).Range("A" & lastRow + 1).Value = TextBox1.Text
    ThisWorkbook.Worksheets(1).Range("B" & lastRow + 1).Value = TextBox2.Text

End Sub
15
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 mai 2009 à 13:47
Bonjour,

Il faut passer par l'éditeur Visaul Basic (Alt + F11), insérer un UserForm (Insertion -> UserForm).

Avec la boite à outils, placer un ou plusieurs TextBox et un CommandButton.

Double click sur le bouton pour arriver sur le module du UserForm. Il doit apparaître ça:

Private Sub CommandButton1_Click()

End Sub


Il suffit d'insérer entre ces 2 lignes le code correspondant :
    ThisWorkbook.Worksheets(1).Range("A1").Value = TextBox1.Text
    ThisWorkbook.Worksheets(1).Range("A2").Value = TextBox2.Text


Tu dois avoir ça :
Private Sub CommandButton1_Click()
    ThisWorkbook.Worksheets(1).Range("A1").Value = TextBox1.Text
    ThisWorkbook.Worksheets(1).Range("A2").Value = TextBox2.Text
End Sub


;o)
4
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mai 2009 à 08:49
Bonjour,

Rajoute une ligne juste avant End Sub et colle ça : TextBox1.Setfocus

;o)
4
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 mai 2009 à 16:07
Oui c'est possible, ça devient ça :
Private Sub CommandButton1_Click()
Dim lastRow As Long

    lastRow = ThisWorkbook.Worksheets(1).Range("A65536").End(xlUp).Row
    ThisWorkbook.Worksheets(1).Range("A" & lastRow + 1).Value = TextBox1.Text
    ThisWorkbook.Worksheets(1).Range("B" & lastRow + 1).Value = TextBox2.Text
    TextBox1.Text = ""
    TextBox2.Text = ""
End Sub


;o)
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 mai 2009 à 16:29
De rien,

Bonne continuation.

;o)
2
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
6 mai 2009 à 09:00
trop fort :) ;) merci
si je ferme ma fenetre de saisie et que je veut mettre dans mon classeur une ptite icone qui permet de la réouvrir quels sont tes conseils?
merci d'avance
2
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 mai 2009 à 14:31
UserForm1.Show
est la commande VBA pour ouvrir le formulaire.

Je ne sais pas ce que tu comptes faire exactement.

Veux-tu que le formulaire se lance à l'ouverture du classeur ou bien en cliquant sur un bouton (dans la barre de menu ? sur la feuille Excel ?) etc ...

1
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
5 mai 2009 à 14:43
j'aimerais si possible qu'il s'ouvre à l'ouverture de mon fichier excel
1
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 mai 2009 à 14:58
Toujours dans l'éditeur VB, double click sur ThisWorkbook pour ouvrir le module. Dans la liste déroulante (Général), sélectionne Workbook, tu vas voir ça :
Private Sub Workbook_Open()

End Sub

Tu insères UserForm1.Show entre les 2 lignes pour obtenir ça :
Private Sub Workbook_Open()
   UserForm1.Show 
End Sub

Tu sauvegardes, tu fermes Excel et tu lances le fichier ...

Voilà.

;o)
1
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mai 2009 à 09:47
Tu as plusieurs possibilités:
- Mettre un bouton sur ta feuille qui permet de lancer le formulaire.
- Ajouter un bouton à ta barre de menu Excel.

La plus simple est de mettre un bouton sur la feuille.
Si ce n'est déjà fait, ajoute le menu Visual Basic à la barre de menu Excel. Tu verras apparaître une icone avec un marteau et une clé en croix. En cliquant dessus tu ouvres la boîte à outils.

Passe en mode création en cliquant sur l'icone représentant une équerre et un crayon. Clique bouton de commande et place le sur ta feuille. Dans la boîte à outils, clique sur Propriétés, l'icone à droite de l'équerre et de la clé. Donne un nom à ton bouton, ex : Name = cmdFormulaire. Double click sur le bouton pour ouvrir l'éditeur de code. Tu dois avoir ça:
Private Sub cmdFormaire_Click()

End Sub


Place ce code entre les 2 lignes : UserForm1.Show
Private Sub cmdFormulaire_Click()
   UserForm1.Show
End Sub


Voilà ...

;o)
1
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
6 mai 2009 à 09:56
merci beaucoup j'abuse de tes services
mais il me faudrait encore un coup de main si tu veux bien
voila avec les données que j'ai rentrée j'ai crée un tableau croisé dynamique
je voudrais récupérer la cellule qui contient le total de mon tableau or vu que celui ci est variable (ajout de ligne et de colonne) je ne sais pas comment m'y prendre. Je voudrais récupérer cette donnée et la placée dans une cellule de mon choix et si possible faire ca quand je clique sur un boutton si tu pe m'aider j'aurais finit merci pour ton aide
1
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mai 2009 à 10:31
Je ne sais pas comment faire, mais regarde ici : https://excel.developpez.com/faq/index.php?page=Cellule#DerniereLigneNonVide

Peut être qu'en combinant la recherche de la dernière ligne et de la dernière colonne. Je ne connais pas bien Excel et les TCD.
1
Bonjour, mon problème est un peu pareil mais pas tout à fait
Voilà je voudrais qu'une fenêtre de saisie apparaise (userform) et me pose une questions choisi au hasard dans une bande de donnée de A1 à A44, ensuite que je rentre la réponse à la question et qu'il dise par la suite si la réponse que j'ai rentré est la bonne ou est mauvaise
Les questions sont de A1 à A44
Les réponses sont de B1 à B44
La réponse de la question en A1 se trouve en B1
La réponse de la question en A2 se trouve en B2

Voilà j'esspère que vous avez compris et s'il vous plaît , aidez moi
Merci

Je suis sur excel version 2000
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
11 mai 2009 à 10:46
Bonjour,

Tu veux mettre un contrôle Onglet ou un Multipage sur ta UserForm ?

;o)
1
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
5 mai 2009 à 14:01
ok merci deja pour ca et aprés comment enregistrer ce que t'a fais pour pouvoir le lancer danexcel
dsl je suis une bille pour ca!!!
0
m@rina Messages postés 21194 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 décembre 2024 11 370
5 mai 2009 à 14:12
Bonjour

Et la fonction Formulaire ne te suffirait pas ?

Tu crées le tableau et tu cliques à l'intérieur : Menu Données, Formulaire.

m@rina
0
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
5 mai 2009 à 14:26
hélas non
mais merci quand meme m@rina
polux31 j'atends avec impatience ta réponse si tu c
0
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
5 mai 2009 à 15:09
merci ca marche tré trés bien :)
j'aurais aimé avoir juste encore un petit coup de main (je galère trop)
avec la fenetre que j'affiche je remplis les lignes de mon tableau et j'aimerais savoir une fois que j'ai remplis une ligne passer à celle d'en dessous et ainsi de suite et que lorsque je ferme mon fichier que cela retienne la derniere ligne que j'ai écrite et quand je réouvre mon fichier et que je rentre mes données elles s'inscrive dans la ligne d'en dessous
j'espere avoir été clair merci de ta réponse
0
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
5 mai 2009 à 16:00
c cool t'assures vraiment ya juste un ti truc :
n'est - il pas possible que les caractères qui sont dans les champs de textes de la boite de dialogue s'effacent lorsque l'on clique sur le boutton??
0
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
5 mai 2009 à 16:10
oki merci comme dab tes conseils marches super bien je te remercies
0
yoshino Messages postés 43 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 2 mars 2010 7
6 mai 2009 à 08:47
bonjour encore une tite chose s'il te plait je sais j'abuse!!
t'aurais pas la ligne de code qui va bien
pour que quand je clique sur le boutton de validation de ma fenetre le cursuer revienne sur le premier champ de texte?
merci
0