deux userform dans un meme onglet , comment faire svp!

rayhaaana

XLDnaute Nouveau
Bonjour le forum,

J'ai un tableau où chaque cellule doit afficher une userform avec un boutton "valider"
j'ai fais la première et j'ai configuré le boutton. la deuxième userform marche mais le boutton valider non ,
voici mon code :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$E$4" Then
Target.Value = ""
Load UserForm1
UserForm1.Show
End If
If Target.Address = "$E$5" Then
Target.Value = ""
Load UserForm2
UserForm2.Show
End If

End Sub

Je suis très débutante , merci de m'expliquer étape par étape svp
 

rayhaaana

XLDnaute Nouveau
Re : deux userform dans un meme onglet , comment faire svp!

Bonjour,

Voici un exemple en pièce jointe. Je veux créer des cellules qui affiches des listes à multiples choix. La première cellule fonctionne mais la deuxième n'affiche rien.
Pour la première userform1 j'ai cliqué droit sur "feuil1" et dans "visualiser le code", j'ai rentré le code suivant :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$C$4" Then
Target.Value = ""
Load UserForm1
UserForm1.Show
End If
End Sub

Comment faire pour la userform2 svp? merci d'avance
 

Pièces jointes

  • Classeur1 test de la liste à miltiples choix.xls
    53 KB · Affichages: 54
  • Classeur1 test de la liste à miltiples choix.xls
    53 KB · Affichages: 55
  • Classeur1 test de la liste à miltiples choix.xls
    53 KB · Affichages: 55

Pierrot93

XLDnaute Barbatruc
Re : deux userform dans un meme onglet , comment faire svp!

Bonjour,

vois rien dans ton fichier qui lancerait l'usf 2.... par contre dans son module (UserForm2), je vois ceci :
Code:
UserForm1.Hide
Unload UserForm1

sans doute remplacer "UserForm1" par "UserForm2"....

bon après midi
@+
 

tashiqi

XLDnaute Occasionnel
Re : deux userform dans un meme onglet , comment faire svp!

Et remplacer
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$C$4" Then
Target.Value = ""
Load UserForm1
UserForm1.Show
End If
End Sub
par
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$C$4" Then
Target.Value = ""
Load UserForm1
UserForm1.Show
End If
If Target.Address = "$C$6" Then
Target.Value = ""
Load UserForm2
UserForm2.Show
End If
End Sub
Pour avoir l'appel de chacun des userform
Bonne chance
 
Dernière édition:

tashiqi

XLDnaute Occasionnel
Re : deux userform dans un meme onglet , comment faire svp!

En fait tu as 2 Userform
le premier s'appelle UserForm1, le deuxième Userform2
Quand tu appuies sur le bouton valider du premier, ça active le code :
UserForm1.Hide
Unload UserForm1
ce qui est normal
Mais pour le deuxième, il faut changer le nom, donc :
UserForm2.Hide
Unload UserForm2
Sinon, lorsque tu veux fermer ton deuxième Userform, VBA essaye de fermer le premier, qui n'est même pas ouvert !
Ai-je été assez clair ?
 

Pierrot93

XLDnaute Barbatruc
Re : deux userform dans un meme onglet , comment faire svp!

Re,

A noter également, annuler peut être l'effet du double click :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$C$4" Then
    Target.Value = ""
    Cancel = True
    Load UserForm1
    UserForm1.Show
End If
End Sub
 

laetitia90

XLDnaute Barbatruc
Re : deux userform dans un meme onglet , comment faire svp!

bonjour tous pierrot :)

on pourrait faire avec seulement 1 user pas simplifier le code d'origine mais bon connais pas la finalite de tout cela ??
 

Pièces jointes

  • Classeur1 test de la liste à miltiples choix.xls
    48.5 KB · Affichages: 62
  • Classeur1 test de la liste à miltiples choix.xls
    48.5 KB · Affichages: 66
  • Classeur1 test de la liste à miltiples choix.xls
    48.5 KB · Affichages: 64

Discussions similaires

Statistiques des forums

Discussions
312 083
Messages
2 085 188
Membres
102 809
dernier inscrit
Sandrine83