Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2011, 14h59   #1
Membre à l'essai
 
Femme Catherine ETESSE
Assistante logistique
Inscription : août 2011
Messages : 64
Détails du profil
Informations personnelles :
Nom : Femme Catherine ETESSE
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Assistante logistique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 64
Points : 20
Points : 20
Par défaut Userform toujours présent dans une même feuille

Bonjour,

Je cherche à rendre toujours visible mon userform dans une même feuille.
J'arrive à le rendre toujours visible avec
Code :
1
2
3
4
Private Sub Workbook_Open()
frmMenu.Show False
 
End Sub
mais je voudrais qu'il soit visible uniquement dans la feuille "General" : est-ce possible ?

Merci
catetesse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 15h06   #2
Membre éprouvé
 
Homme Franck PRESSE
Inscription : août 2010
Messages : 202
Détails du profil
Informations personnelles :
Nom : Homme Franck PRESSE
Âge : 38
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : août 2010
Messages : 202
Points : 444
Points : 444
Bonjour,
Toujours dans le module de ThisWorkbook, ajouter la procédure événementielle :
Code :
1
2
3
4
5
6
7
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "General" Then 'bien adapter le nom de la feuille
    frmMenu.Show False
Else
    frmMenu.Hide
End If
End Sub
__________________
Cordialement,
Franck P.


Ps : n'oubliez pas de placer vos posts comme "résolus" () si tel est le cas...
pijaku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 16h03   #3
Membre à l'essai
 
Femme Catherine ETESSE
Assistante logistique
Inscription : août 2011
Messages : 64
Détails du profil
Informations personnelles :
Nom : Femme Catherine ETESSE
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Assistante logistique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 64
Points : 20
Points : 20
Bonjour,

J'ai essayé mais ça ne fonctionne pas, mon userform n'est pas présent dans l'onglet "General" ni ailleurs.

Voici le code entré
J'ai supprimé une ligne car il y avait une erreur

Code :
1
2
3
4
5
6
7
8
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "General" Then
    frmMenu.Show False
Else
 
End If
 
End Sub
catetesse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 16h17   #4
Membre éprouvé
 
Homme Franck PRESSE
Inscription : août 2010
Messages : 202
Détails du profil
Informations personnelles :
Nom : Homme Franck PRESSE
Âge : 38
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : août 2010
Messages : 202
Points : 444
Points : 444
J'ai supprimé une ligne car il y avait une erreur Hum... Intéressant!
Mais vague. Qu'elle était donc cette erreur?
__________________
Cordialement,
Franck P.


Ps : n'oubliez pas de placer vos posts comme "résolus" () si tel est le cas...
pijaku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 16h18   #5
Membre à l'essai
 
Femme Catherine ETESSE
Assistante logistique
Inscription : août 2011
Messages : 64
Détails du profil
Informations personnelles :
Nom : Femme Catherine ETESSE
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Assistante logistique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 64
Points : 20
Points : 20
En fait le Userform apparait mais seulement après avoir cliquer sur une autre feuille.

C'est à dire que lorsque j'ouvre le fichier l'onglet "General" est sélectionné, si je me positionne sur une autre feuille et que je reviens dans "General" le userform apparaît.

Je voudrais qu'il apparaisse dès que j'ouvre le document : est-possible ?
catetesse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 16h30   #6
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
bonjour,

Le code de pijaku fonctionne chez moi

si tu veux à l' ouverture le mettre de nouveau dans

Code :
Private Sub Workbook_Open()
Bon courage
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 16h34   #7
Membre éprouvé
 
Homme Franck PRESSE
Inscription : août 2010
Messages : 202
Détails du profil
Informations personnelles :
Nom : Homme Franck PRESSE
Âge : 38
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : août 2010
Messages : 202
Points : 444
Points : 444
Dans ton module Thisworkbook, tu dois avoir :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Workbook_Open()
If Sh.Name = "General" Then 'bien adapter le nom de la feuille
    frmMenu.Show False
Else
    frmMenu.Hide
End If
End Sub
 
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "General" Then 'bien adapter le nom de la feuille
    frmMenu.Show False
Else
    frmMenu.Hide
End If
End Sub
@jean Claude : bonjour, merci de ton intervention, je craignais d'avoir bouletté... Mais non!
A+
__________________
Cordialement,
Franck P.


Ps : n'oubliez pas de placer vos posts comme "résolus" () si tel est le cas...
pijaku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 16h40   #8
Membre à l'essai
 
Femme Catherine ETESSE
Assistante logistique
Inscription : août 2011
Messages : 64
Détails du profil
Informations personnelles :
Nom : Femme Catherine ETESSE
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Assistante logistique
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 64
Points : 20
Points : 20
Ca fonctionne comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub Workbook_Open()
frmAcceuil.Show False
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'permet d'ouvrir un userform tjs dans la même feuille
If Sh.Name = "General" Then
    frmAcceuil.Show False
Else
   frmAcceuil.Hide
End If
End Sub
Merci et bonne soirée

Catherine
catetesse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 17h16   #9
Membre éprouvé
 
Homme Franck PRESSE
Inscription : août 2010
Messages : 202
Détails du profil
Informations personnelles :
Nom : Homme Franck PRESSE
Âge : 38
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : août 2010
Messages : 202
Points : 444
Points : 444
Citation:
Envoyé par catetesse Voir le message
Ca fonctionne comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub Workbook_Open()
frmAcceuil.Show False
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'permet d'ouvrir un userform tjs dans la même feuille
If Sh.Name = "General" Then
    frmAcceuil.Show False
Else
   frmAcceuil.Hide
End If
End Sub
ça ne fonctionne que partiellement.
Fais ce test :
- ouvre le classeur
- clic sur n'importe qu'elle feuille autre que "general"
- enregistre
- ouvre le à nouveau
Il s'ouvre sur la dernière feuille active lors de l'enregistrement et lance, malgré le fait que tu ne soit pas sur l'onglet general, le Userform.
Il convient donc de faire le test :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Workbook_Open()
If Sh.Name = "General" Then
    frmAcceuil.Show False
End If
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'permet d'ouvrir un userform tjs dans la même feuille
If Sh.Name = "General" Then
    frmAcceuil.Show False
Else
   frmAcceuil.Hide
End If
End Sub
__________________
Cordialement,
Franck P.


Ps : n'oubliez pas de placer vos posts comme "résolus" () si tel est le cas...
pijaku est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h54.


 
 
 
 
Partenaires

Hébergement Web