VBA excel
Résolu/Fermé
A voir également:
- VBA excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
9 réponses
salut,
Tu peux peut etre mettre un autre bouton qui te permet d'enregistrer le nom de l'etudiant à la suite du premier
Exemple:
sous reserve que tes 2 premieres cellules soit pleines
bon courage
Tu peux peut etre mettre un autre bouton qui te permet d'enregistrer le nom de l'etudiant à la suite du premier
Exemple:
sous reserve que tes 2 premieres cellules soit pleines
Private Sub CommandButton1_Click() Range("A2").End(xlDown).Offset(1, 0).Select Selection = TextBox1.Value End Sub
bon courage
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
11 mars 2012 à 09:49
11 mars 2012 à 09:49
Bonjour a vous deux
'exemple:
'Feuille de calcul: feuil1
'Cellules pour TextBox4: A2....Ax
' Si vous avez d'autres TextBox: B2....Bx, C2......Cx
'Ajoutez un nouveau CommandButton
Private Sub Cmd_Ok_Click()
Dim D_L_A As Integer
With Worksheets("Feuil1")
If TextBox4.Text <> "" Then
'Premiere ligne vide colonne A
D_L_A = .Range("A" & Rows.Count).End(xlUp).Row + 1
'Ecriture Ax
.Range("A" & D_L_A) = TextBox4.Text 'Nom
TextBox4.Text = "" 'RAZ TextBox4
'Si vous avez d'autre TextBoxs ajouter les lignes ci-dessous
End If
End With
End Sub
A quoi servent les bouton options?
Bonne suite
'exemple:
'Feuille de calcul: feuil1
'Cellules pour TextBox4: A2....Ax
' Si vous avez d'autres TextBox: B2....Bx, C2......Cx
'Ajoutez un nouveau CommandButton
Private Sub Cmd_Ok_Click()
Dim D_L_A As Integer
With Worksheets("Feuil1")
If TextBox4.Text <> "" Then
'Premiere ligne vide colonne A
D_L_A = .Range("A" & Rows.Count).End(xlUp).Row + 1
'Ecriture Ax
.Range("A" & D_L_A) = TextBox4.Text 'Nom
TextBox4.Text = "" 'RAZ TextBox4
'Si vous avez d'autre TextBoxs ajouter les lignes ci-dessous
End If
End With
End Sub
A quoi servent les bouton options?
Bonne suite
Bonsoir !
Votre technique fonctionne c'est suuuuper !
Il me reste juste une petite question.
Justement les 2 boutons options dont vous me parliez permettent de cocher si l'étudiant a validé son année ou s'il est défaillant (il doit redoubler).
Mais par contre votre programme ne marche pas avec ces boutons auriez vous une solution svp ?? Quand je lance l'exécution il y a une erreur "438 propriété ou méthode non géré par l'objet"
Merci beaucoup :) !!
Votre technique fonctionne c'est suuuuper !
Il me reste juste une petite question.
Justement les 2 boutons options dont vous me parliez permettent de cocher si l'étudiant a validé son année ou s'il est défaillant (il doit redoubler).
Mais par contre votre programme ne marche pas avec ces boutons auriez vous une solution svp ?? Quand je lance l'exécution il y a une erreur "438 propriété ou méthode non géré par l'objet"
Merci beaucoup :) !!
fais un test ,
remplis les cellules A1 et A2 par le commantaire de ton choix et essaie de rentrer les nom de tes etudiants par l'userform
tu verra que les noms se suivent au fur et à mesure que tu les ajoutes
bon courage
remplis les cellules A1 et A2 par le commantaire de ton choix et essaie de rentrer les nom de tes etudiants par l'userform
tu verra que les noms se suivent au fur et à mesure que tu les ajoutes
bon courage
Re bonjour à tous les deux !
J'avance pas mal grâce à vous deux !
Je voulais que les valeurs de mes 3 textbox et des boutons d'options se décalent vers le bas pour pouvoir enregistrer plusieurs étudiants au fichier.
Boomer j'ai fais comme tu m'as dis j'ai créer un nouveau bouton pour enregistrer les données d'un étudiant. Et je me suis servie de ton programme pour que les valeurs des boutons d'options se décalent.
f894009 avec ton programmes les valeurs de mes textbox se décalent bien pour que je puissent taper de nouvelles données.
Il me reste encore un petit problème et ce sera bon !!!
Quand je suis sur le userform, que je choisis une des deux options (admis ou défaillant), j'enregistre grâce au boutton et la valeur se décale bien vers le bas MAIS c'est les valeurs vrai (pour admis) ou faux (pour défaillant) qui se retrouvent dans la case d'en bas alors que je voudrais avoir admis ou défaillant... je ne sais pas si j'ai été claire ...
Le programme que j'ai pour l'instant est :
Range("d1").End(xlDown).Offset(1, 0).Select
Selection = OptionButton1.Value
J'avance pas mal grâce à vous deux !
Je voulais que les valeurs de mes 3 textbox et des boutons d'options se décalent vers le bas pour pouvoir enregistrer plusieurs étudiants au fichier.
Boomer j'ai fais comme tu m'as dis j'ai créer un nouveau bouton pour enregistrer les données d'un étudiant. Et je me suis servie de ton programme pour que les valeurs des boutons d'options se décalent.
f894009 avec ton programmes les valeurs de mes textbox se décalent bien pour que je puissent taper de nouvelles données.
Il me reste encore un petit problème et ce sera bon !!!
Quand je suis sur le userform, que je choisis une des deux options (admis ou défaillant), j'enregistre grâce au boutton et la valeur se décale bien vers le bas MAIS c'est les valeurs vrai (pour admis) ou faux (pour défaillant) qui se retrouvent dans la case d'en bas alors que je voudrais avoir admis ou défaillant... je ne sais pas si j'ai été claire ...
Le programme que j'ai pour l'instant est :
Range("d1").End(xlDown).Offset(1, 0).Select
Selection = OptionButton1.Value
Re,
il faut ajouter des conditions comme par exemple dans ton cas :
A adapter bien sur en fonction des noms de tes contrôles !
il faut ajouter des conditions comme par exemple dans ton cas :
If OptionButton1 = True Then Range("A2").End(xlDown).Offset(1, 0).Select Selection = OptionButton1.Caption End If If OptionButton2 = True Then Range("A2").End(xlDown).Offset(1, 0).Select Selection = OptionButton2.Caption End If
A adapter bien sur en fonction des noms de tes contrôles !
Cette erreur indique que les 2 premiere cellules ne sont pas pleines car la fonction xldown a ces limites, complete toutes les 2 premieres lignes de ton tableau entier
Exemple: De A1 à D2 ,tu mets des asterix juste pour le test apres tu mettras ce que tu veux !
autres solutions: il faut integrer la façon de faire de f894009
Exemple: De A1 à D2 ,tu mets des asterix juste pour le test apres tu mettras ce que tu veux !
autres solutions: il faut integrer la façon de faire de f894009
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
12 mars 2012 à 08:15
12 mars 2012 à 08:15
Bonjour a vous deux
En effet si vous prenez le principe de recherche de la premiere cellule libre par le code que je vous ai propose, il n'y a pas de probleme de premieres cellules vide.
Code modifie pour les OptionButton
'exemple:
'Feuille de calcul: feuil1
'Cellules pour TextBox4: A2....Ax
' Si vous avez d'autres TextBox: B2....Bx, C2......Cx
'Ajoutez un nouveau CommandButton
Private Sub Cmd_Ok_Click()
Dim D_L_A As Integer
With Worksheets("Feuil1")
If TextBox4.Text <> "" Then
'Premiere ligne vide colonne A
D_L_A = .Range("A" & Rows.Count).End(xlUp).Row + 1
'Ecriture Ax
.Range("A" & D_L_A) = TextBox4.Text 'Nom
TextBox4.Text = "" 'RAZ TextBox4
'Si vous avez d'autre TextBoxs ajoutez les lignes ci-dessous
'----------------------------------------------
'prise en compte des OptionButton
'Code modifie propose par boomer
If OptionButton1 = True Then
.Range("A" & D_L_A) = = OptionButton1.Caption
ElseIf OptionButton2 = True Then
.Range("A" & D_L_A) = = OptionButton2.Caption
Else
End If
'----------------------------------------------
End If
End With
End Sub
Bonne suite
En effet si vous prenez le principe de recherche de la premiere cellule libre par le code que je vous ai propose, il n'y a pas de probleme de premieres cellules vide.
Code modifie pour les OptionButton
'exemple:
'Feuille de calcul: feuil1
'Cellules pour TextBox4: A2....Ax
' Si vous avez d'autres TextBox: B2....Bx, C2......Cx
'Ajoutez un nouveau CommandButton
Private Sub Cmd_Ok_Click()
Dim D_L_A As Integer
With Worksheets("Feuil1")
If TextBox4.Text <> "" Then
'Premiere ligne vide colonne A
D_L_A = .Range("A" & Rows.Count).End(xlUp).Row + 1
'Ecriture Ax
.Range("A" & D_L_A) = TextBox4.Text 'Nom
TextBox4.Text = "" 'RAZ TextBox4
'Si vous avez d'autre TextBoxs ajoutez les lignes ci-dessous
'----------------------------------------------
'prise en compte des OptionButton
'Code modifie propose par boomer
If OptionButton1 = True Then
.Range("A" & D_L_A) = = OptionButton1.Caption
ElseIf OptionButton2 = True Then
.Range("A" & D_L_A) = = OptionButton2.Caption
Else
End If
'----------------------------------------------
End If
End With
End Sub
Bonne suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 758
12 mars 2012 à 09:00
12 mars 2012 à 09:00
Bonjour,
Comme tu débutes sur VBA, il te faut plus d'éléments.
Par exemple, si dans ton classeur excel, dans une feuille quelconque, tu disposes d'une liste de tes élèves, je te recommande fortement l'utilisation, non pas d'un textbox pour saisir leurs noms, mais d'une combobox ou d'une listbox dans ton userform.
Ensuite, tu dis j'ai :
3 textbox.
Une pour le nom Ok. Mais les deux autres? Pour des notes? des dates? Il faut faire atention aux types de données que l'on demande de saisir dans un textbox.
Exemple pour les nombres, il te faut savoir qu'un textbox, par défaut, renvoie du texte, même si tu y as saisi un nombre... (Format String)
Comme tu débutes sur VBA, il te faut plus d'éléments.
Par exemple, si dans ton classeur excel, dans une feuille quelconque, tu disposes d'une liste de tes élèves, je te recommande fortement l'utilisation, non pas d'un textbox pour saisir leurs noms, mais d'une combobox ou d'une listbox dans ton userform.
Ensuite, tu dis j'ai :
3 textbox.
Une pour le nom Ok. Mais les deux autres? Pour des notes? des dates? Il faut faire atention aux types de données que l'on demande de saisir dans un textbox.
Exemple pour les nombres, il te faut savoir qu'un textbox, par défaut, renvoie du texte, même si tu y as saisi un nombre... (Format String)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 758
12 mars 2012 à 09:54
12 mars 2012 à 09:54
Re-
Comme il vaut mieux que tu disposes de toutes les infos avant de réaliser ton projet, je t'ai, vite fait, bricolé un exemple des possibilités dont tu peux disposer.
Il en existe bien sur d'autres mais ces 3 exemples sont, à mon avis, ce que tu cherches à réaliser.
Le classeur proposé
Comme il vaut mieux que tu disposes de toutes les infos avant de réaliser ton projet, je t'ai, vite fait, bricolé un exemple des possibilités dont tu peux disposer.
Il en existe bien sur d'autres mais ces 3 exemples sont, à mon avis, ce que tu cherches à réaliser.
Le classeur proposé
Bonsoir à tous !
C'est bon j'ai combiné vos réponses et je suis arrivée à quelque chose de concluant !
Donc je vous remercie tous, boomer, f894009 et pijaku pour vos bonnes idées et les programmes que vous m'avez fournis !
Pikaju le classeur que tu m'as fourni est super ! Comme je fais ca pour un travail que je devais rendre il y a quelques jours j'ai envoyé ma version modifiée, mais si j'avais eu plus de temps j'aurais creusé ton idée. D'ailleurs si tu permet je vais conserver le fichier que tu m'as envoyé car je suis sure qu'ile me sera utile pour un prochain travail sur VBA.
Encore merci à tous :) !!!
Bonne soirée
C'est bon j'ai combiné vos réponses et je suis arrivée à quelque chose de concluant !
Donc je vous remercie tous, boomer, f894009 et pijaku pour vos bonnes idées et les programmes que vous m'avez fournis !
Pikaju le classeur que tu m'as fourni est super ! Comme je fais ca pour un travail que je devais rendre il y a quelques jours j'ai envoyé ma version modifiée, mais si j'avais eu plus de temps j'aurais creusé ton idée. D'ailleurs si tu permet je vais conserver le fichier que tu m'as envoyé car je suis sure qu'ile me sera utile pour un prochain travail sur VBA.
Encore merci à tous :) !!!
Bonne soirée
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 758
13 mars 2012 à 08:40
13 mars 2012 à 08:40
Salut,
Comme je fais ca pour un travail que je devais rendre il y a quelques jours j'ai envoyé ma version modifiée, mais si j'avais eu plus de temps j'aurais creusé ton idée
J'espère que tu n'es pas sans savoir que de nombreux professeurs trainent par ici... Peut être le tien...
Comme je fais ca pour un travail que je devais rendre il y a quelques jours j'ai envoyé ma version modifiée, mais si j'avais eu plus de temps j'aurais creusé ton idée
J'espère que tu n'es pas sans savoir que de nombreux professeurs trainent par ici... Peut être le tien...
salut,
as tu essayé de mettre la textbox en mode mulitiligne ?
as tu essayé de mettre la textbox en mode mulitiligne ?
Salut Boomer,
En fait je crois que la fonction multiligne n'est pas ce que je recherche. J'ai essayé de la mettre.
Si j'ai bien compris multiligne c'est pour pouvoir par exemple sauter des lignes mais rester dans la meme case d'excel ou du userform ?
Moi ce que je voudrais c'est un programme qui me permette de taper les données du premier étudiant, qu'elles rentrent sur la ligne 2 de la feuille excel puis pouvoir taper les données d'un 2eme étudiant (jusqu'à' a 5) pour qu'elles s'inscrivent cette fois juste en dessous des premières, dans la ligne 3.
Sachant que sur mon userform j'ai :
3 textbox
2 option button
1 command button qui ferme le userform
Merci pour l'aide :) !!
En fait je crois que la fonction multiligne n'est pas ce que je recherche. J'ai essayé de la mettre.
Si j'ai bien compris multiligne c'est pour pouvoir par exemple sauter des lignes mais rester dans la meme case d'excel ou du userform ?
Moi ce que je voudrais c'est un programme qui me permette de taper les données du premier étudiant, qu'elles rentrent sur la ligne 2 de la feuille excel puis pouvoir taper les données d'un 2eme étudiant (jusqu'à' a 5) pour qu'elles s'inscrivent cette fois juste en dessous des premières, dans la ligne 3.
Sachant que sur mon userform j'ai :
3 textbox
2 option button
1 command button qui ferme le userform
Merci pour l'aide :) !!
11 mars 2012 à 12:28
J'ai essayé ta technique c'est une super bonne idée.
Mais quand je le fais je me retrouve avec
"erreur d'exécution 1004
erreur définie par l'application ou par l'objet"
Donc je pense qu'il y a un truc que je dois changer mais je ne sais pas trop quoi.
Admettons que la première ligne soit celle du tableau ou j'ai écris ce qui figure dans le tableau (nom prénom...) et que je commence à taper les noms à partir de la ligne 2, ton programme fonctionne toujours ?
Et à la troisième ligne de ton programme je dois mettre quelle textbox ? Celle qui correspond au nom ?
Si tu pouvais me dire ca ce serait super parce que je pense que je ne suis pas loin avec cette solution.
Merci beaucoup :) !!