• Initiateur de la discussion Initiateur de la discussion problème débutant pour code VBA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

problème débutant pour code VBA

Guest
Bonjour à tous,

Je commence actuellement l'initiation à VBA et je rencontre de petits pbms qui en sont de gros pour moi.

J'ai créé une UserForm qui me permet de saisir des info diverses dans des TextBox. Je souhaiterai que dès l'instant ou je clique sur un CommandButton, mes info se reportent dans un tableau que j'ai déjà tracé.

Mon gros souci est qu'à chaque clique sur le bouton, mes info du tableau sont effacées par les dernières.

Alors comment faire ? (Je ne sais pas faire de boucles !!)

Merci à tous ceux qui pourront m'aider.

Je vous joins le code de mon CommandButton.

Private Sub CommandButton1_Click()
Range('A5') = TextBox4.Value 'Ecrit en A5 la valeur de Textbox4
Range('B5') = TextBox1.Value
Range('C5') = TextBox2.Value
Range('D5') = TextBox3.Value
Range('E5') = TextBox5.Value
Range('F5') = TextBox6.Value
Range('g5') = TextBox7.Value
Range('h5') = TextBox8.Value
Range('i5') = TextBox9.Value
Range('j5') = TextBox10.Value
Range('k5') = TextBox11.Value
Unload Me 'Vide et ferme le UserForm
End Sub
 
Re:Remplissage tableau textbox

Bonjour

ALors il faut regardé ta fdernière ligne ecrite et ecrire dessous

Private Sub CommandButton1_Click()
Dim MaLigne as integer
MaLigne=range('A65536').end(xlup).row + 1
Range('A' & MaLigne) = TextBox4.Value 'Ecrit en A5 la valeur de Textbox4
Range('B' & MaLigne) = TextBox1.Value
Range('C' & MaLigne) = TextBox2.Value
Range('D' & MaLigne) = TextBox3.Value
Range('E' & MaLigne) = TextBox5.Value
Range('F' & MaLigne) = TextBox6.Value
Range('g' & MaLigne) = TextBox7.Value
Range('h' & MaLigne) = TextBox8.Value
Range('i' & MaLigne) = TextBox9.Value
Range('j' & MaLigne) = TextBox10.Value
Range('k' & MaLigne) = TextBox11.Value
Unload Me 'Vide et ferme le UserForm
End Sub

Sinon fais peut-être un petit test des testbox obligatoires avant de valider
 
Re:Remplissage tableau textbox

Bonjour Sylvain, bonjour Pascal et le Forum
une autre piste peut être ?
Range('A5') = Range('A5')+TextBox4.Value
si, bien entendu, les valeurs sont numériques et que l'on veuille les additionner
Bon courage et à +
Denis B)
 
Re:Remplissage tableau textbox

Salut Sylvain, Pascal76, Denis,

Peut être une autre solution en passant par des boucles sur les textbox. A tester quand même parce que je l'ai pas fait.

Code:
Private Sub CommandButton1_Click()
Dim i As Byte

For i = 1 To 3
    Cells(65536, i + 1).End(xlUp).Offset(1, 0).Value = Controls('TextBox' & i).Value
Next i
Range('A' & Range('A65536').End(xlUp).Row + 1) = TextBox4.Value
For i = 5 To 11
    Cells(65536, i + 1).End(xlUp).Offset(1, 0).Value = Controls('TextBox' & i).Value
Next i
Unload Me 'Vide et ferme le UserForm
End Sub

@+
 
Re:Remplissage tableau textbox

rer,

Une autre solution toujours avec les boucles

Code:
Private Sub CommandButton1_Click()
Dim i As Byte, MaLigne As Integer

MaLigne = Range('A65536').End(xlUp).Row + 1
For i = 1 To 3
    Cells(i + 1, MaLigne) = Controls('TextBox' & i).Value
Next i
Cells(i + 1, MaLigne) = TextBox4.Value
For i = 5 To 11
    Cells(i + 1, MaLigne) = Controls('TextBox' & i).Value
Next i
Unload Me 'Vide et ferme le UserForm
End Sub

La différence entre les codes, c'est que le 1er va chercher pour chaque colonnes la dernière cellules vides, alors que le second va seulement chercher la dernière cellule vide de la colonne A. Donc avec le second code les info rentré dans le USF et sauver ds ton tableau son automatiquement sur la même ligne.

@+
 
Re:Remplissage tableau textbox

Merci à Denis mais cette solution ne répond pas à mes attentes!! Merci tout de même.


Un grand grand merci à Pascal76. C'est exactement ce qu'il me fallait. Encore merci.

J'ai à présent une autre question :
Pour l'instant, je suis contrainds d'ouvrir excel pour cliquer sur un CommandButton pour exécuter 'ma' UserForm.
Serait-il possible de créer une icône qui me permettrait de faire la même chose (exécuter ma Userform) sans avoir à ouvrir Excel ?

Merci d'avance et excellente journée.
 
Re:Remplissage tableau textbox

Re

Et non il faut obligatoirement ouvrir excel

Mais tu peux biaiser

tu peux mettre dans le thisworkbook_open de ton claseur le lancement de ton userform

et tu mets un raccourci sur ton bureau qui ouvre ton fichier

et ainsi au lancement par l'icone excel s'ouvrira mais direct sur l'UF
 
Re:Remplissage tableau textbox

Re

De rien faut bien commencer un jour

Tu vas dans VBE (alt F11)

tu cherches ton vbaproject du classeur

Tu vas trouver en plus de ton uf tes feuilles ainsi que ThisWorkbook

tu double-cliques sur thisworkbook

et là tu tapes

Private Sub Workbook_Open()
userform1.show 'en fonction du nom de ton uf
End Sub

tu refermes ton fichier en enregistrant et réouvres le pour voir

Bonne découverte
 
Re:Remplissage tableau textbox

lol pour 'Bonne Découverte' !!!

Un immense merci à toi Pascal76.
En effet, je commence le VBA depuis peu. Mes lacunes ne sont pas chiffrables. Il était temps pour moi de m'y mettre !!!!!

Encore merci et à bientôt. Excellente journée.
 
Re:Remplissage tableau textbox

Bonjour Sylvain, Pascal, Denis et Porcinet 🙂

Allez, juste pour le fun :

Option Explicit

Private Sub CommandButton1_Click()
'
Dim DerLigne As Long
Dim i As Integer
'
  DerLigne = Range('A65536').End(xlUp).Row + 1
  For i = 1 To 11
    Cells(DerLigne, i + Int(-(i + 8) / 12) + 2 + 4 * (i = 4)) = Me.Controls('TextBox' & i)
  Next i
  Unload Me 'Vide et ferme le UserForm
End Sub

C'était ma minute de folie du raccourci... mais pas de la lisibilité !!! :woohoo:

A+ 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
461
Réponses
3
Affichages
896
Réponses
7
Affichages
870
Réponses
9
Affichages
1 K
Retour