Vba userform
Résolu/Fermé
A voir également:
- Vba userform
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Vba dépassement de capacité ✓ - Forum Excel
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
11 janv. 2011 à 09:56
11 janv. 2011 à 09:56
Bonjour,
Un exemple vaut parfois mieux qu'un long discours
Codes utilisés :
Userform 1 :
bouton "valider" :
initialisation du UserForm1 :
Userform 2 :
Bouton : "enregistrement des modifications" :
Initialisation des données au chargement de l'USF2 :
Un exemple vaut parfois mieux qu'un long discours
Codes utilisés :
Userform 1 :
bouton "valider" :
Private Sub CommandButton1_Click() If ComboBox1.Value = "" Then MsgBox "Veuillez choisir un nom" Exit Sub End If Load UserForm2 UserForm2.Show End Sub
initialisation du UserForm1 :
Private Sub UserForm_Initialize() Dim DerniereLigne As Integer, Ligne As Integer DerniereLigne = Sheets("Feuil1").Range("A65536").End(xlUp).Row For Ligne = 2 To DerniereLigne ComboBox1.AddItem Cells(Ligne, 1).Value Next Ligne End Sub
Userform 2 :
Bouton : "enregistrement des modifications" :
Private Sub CommandButton1_Click() Dim Trouve As Range Dim Valeur_cherchee As String If TextBox1.Value = "" Then MsgBox "Veuillez entrer un nom" Exit Sub End If Valeur_cherchee = TextBox1.Value Set Trouve = Sheets("Feuil1").Columns(1).Cells.Find(what:=Valeur_cherchee) If Trouve Is Nothing Then MsgBox "Pas trouvé" Else Trouve.Offset(0, 1).Value = TextBox2.Value Trouve.Offset(0, 2).Value = TextBox3.Value Trouve.Offset(0, 3).Value = TextBox4.Value Trouve.Offset(0, 4).Value = TextBox5.Value Trouve.Offset(0, 5).Value = TextBox6.Value End If Set Trouve = Nothing End Sub
Initialisation des données au chargement de l'USF2 :
Private Sub UserForm_Initialize() Dim Trouve As Range Dim Valeur_cherchee As String TextBox1.Value = UserForm1.ComboBox1.Value Valeur_cherchee = TextBox1.Value Set Trouve = Sheets("Feuil1").Columns(1).Cells.Find(what:=Valeur_cherchee) If Trouve Is Nothing Then MsgBox "Pas trouvé" Else TextBox2.Value = Trouve.Offset(0, 1).Value TextBox3.Value = Trouve.Offset(0, 2).Value TextBox4.Value = Trouve.Offset(0, 3).Value TextBox5.Value = Trouve.Offset(0, 4).Value TextBox6.Value = Trouve.Offset(0, 5).Value End If Set Trouve = Nothing End Sub
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
11 janv. 2011 à 12:17
11 janv. 2011 à 12:17
Bonjour,
Un complément pour lire/écrire des Cellules/TextBox/Cellules.
Bonjour pijaku
Le Load est superflu, Show suffit.
A+
Un complément pour lire/écrire des Cellules/TextBox/Cellules.
Bonjour pijaku
Load UserForm2 UserForm2.Show
Le Load est superflu, Show suffit.
A+
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
11 janv. 2011 à 12:22
11 janv. 2011 à 12:22
Salut Lermite222.
Le "show" seul lance la procédure UserForm_initialize???
Le "show" seul lance la procédure UserForm_initialize???
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
11 janv. 2011 à 12:24
11 janv. 2011 à 12:24
Absolument.
Fait un test, tu met un point d'arrêt dans Initialize.
A+
Fait un test, tu met un point d'arrêt dans Initialize.
A+
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
11 janv. 2011 à 12:27
11 janv. 2011 à 12:27
Merci.
A+
A+