Userform

David59

XLDnaute Junior
Bonjour le forum

Je voudrais que dans un Module reconnaitre un UserForm en fonction d'une page

par exemple si je veux ouvrier une page par rapport à un information sur une page excel("Sheets("feuil1").Range("b1")") je peux faire:
Code:
       page = Sheets("feuil1").Range("b1").Value
        Sheets(page).Activate
pour cette formule pas de problème elle fonction
par contre si je veux faire la même chose avec un userform:
Code:
        user = Sheets("feuil1").Range("a1").Value
        user.Show 0
Là la formule ne fonction pas pourquoi? :confused:

Merci d'avance
david @+

:) ET UNE TRES BONNE FIN ANNEE A TOUS LE FORUM.......
 

Pièces jointes

  • userform.xlsm
    19.3 KB · Affichages: 38
  • userform.xlsm
    19.3 KB · Affichages: 41
  • userform.xlsm
    19.3 KB · Affichages: 43

Papou-net

XLDnaute Barbatruc
Re : Userform

Bonjour David59,

Peut-être qu'en essayant ainsi ?

Code:
        user = Sheets("feuil1").Range("a1").Value
        UserForm(user).Show 0

Cordialement et bonne année.

Désolé, j'ai testé ça ne fonctionne pas.
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Userform

Bonjour à tous,

avec ceci: à adapter en fonction du nom de la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Sheets("feuil1").Range("a1").Value
Case 1
UserForm1.Show
Case 2
UserForm2.Show
Case 3
UserForm3.Show
Case Else
Exit Sub
End Select
End Sub

ET ne pas oublier de tester si l'évènement "change" se passe sur la cellule choisie "A1" dans ce cas

bonne journée
à+
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Userform

Bonjour,
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a1")) Is Nothing Then
    UserForms.Add(Target).Show
End If

End Sub
A noter qu'il faudrait tester l'existence du formulaire
A+
kjin
 

David59

XLDnaute Junior
Re : Userform

Bonjour Papou-net , phlaurent55 et kjin

D'abord merci pour vos solutions

Papou-net j'ai essayé sa ne fonctionne pas.

phlaurent55 ta solution et bonne mais ne va pas avec mon projet
cette méthode si je trouve la solution m'éviteras un cinquantaine de ligne pas page

kjin ta solution me va bien elle fonctionne sur mon projet

Merci à vous
je vous souhaite une très bonne fin d'année
david@+
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Userform

Re,
Je n'avais pas vu que toute les feuilles étaient concernées
Donc tu peux utiliser le module de ThisWorkbook
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect(Target, Range("a1")) Is Nothing Then
    UserForms.Add(Target).Show
End If

End Sub
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 525
Messages
2 089 331
Membres
104 121
dernier inscrit
bobquad01