Creer une fenetre de saisie sous excel [Fermé]

Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
- - Dernière réponse :  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
Afficher la suite 

20/28 réponses

Meilleure réponse
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
13
Merci
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

Dire « Merci » 13

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62478 internautes nous ont dit merci ce mois-ci

Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
4
Merci
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)
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
4
Merci
Bonjour,

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

;o)
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
2
Merci
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)
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
2
Merci
De rien,

Bonne continuation.

;o)
Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
2
Merci
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
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
1
Merci
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 ...

Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
1
Merci
j'aimerais si possible qu'il s'ouvre à l'ouverture de mon fichier excel
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
1
Merci
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)
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
1
Merci
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)
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
1
Merci
Je ne sais pas comment faire, mais regarde ici : http://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.
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
Messages postés
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1081
1
Merci
Bonjour,

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

;o)
Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
0
Merci
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!!!
Messages postés
15543
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2019
8719
0
Merci
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
Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
0
Merci
hélas non
mais merci quand meme m@rina
polux31 j'atends avec impatience ta réponse si tu c
Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
0
Merci
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
Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
0
Merci
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??
Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
0
Merci
oki merci comme dab tes conseils marches super bien je te remercies
Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
0
Merci
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
Messages postés
43
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
2 mars 2010
6
0
Merci
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