Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

pb ouverture classeur et userform

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 !

oasis_1

XLDnaute Occasionnel
Bonjour le Forum,

Depuis un classeur A j'ai un Userform A1 dans lequel il y a un bouton qui me permet d'ouvrir un classeur B, et un feuille en particulier.
Je souhaiterais inclure l'ouverture de l'userform B1

Private Sub CommandButton1_Click()
Dim nomfichier As String
Dim nomclasseur As String
Dim x As Variant
nomclasseur = ActiveWorkbook.Name
nomfichier = "D:\Classeur B.xls"

On Error Resume Next
Set x = Workbooks(nomfichier)
If Err = 0 Then
MsgBox nomfichier & " deja ouvert "
Else
Workbooks.Open Filename:=nomfichier
Sheets("FeuilleB)").Select

End If

On Error GoTo 0

End Sub


Merci par avance.
 
Re : pb ouverture classeur et userform


Je me suis peut etre mal expliqué

la macro ci-dessus fonctionne tres bien mais elle ouvre uniquement le classeur et une Feuille definie par exemple Feuille B.

Ce que je souhaite c'est qu'elle puisse ouvrir le classeur B, la FeuilleB ainsi que l'Userform B1.

Sachant que dans mon classeurB il y a plusieurs Feuille B,C,D...et donc plusieur UserformB1,C1,D1.....
Et que depuis mon classeur A j'ai plusieur macro pour ouvrir les différentes Feuilles B1,B2,B3...du classeur B ainsi que les UserformB1,C1,D1..... si j'y arrive ou vous ????

Je pens que ce doit etre possible mais que faut il rajouter à ma macro ???
 
Re : pb ouverture classeur et userform

Re bonsoir le Forum,

Formulé différemment est possible d'ouvrir un classeur en choisissant la feuille souhaité et que l'userform situé dans cette feuille s'ouvre automatiquement sans passer par :

private sub workbook_open()
 
Re : pb ouverture classeur et userform

Bonsoir oasis 1,

Avec dans le ThisWorkBook, un truc du genre :

Private Sub Workbook_beforesave(ByVal SaveAsUI As Boolean, cancel As Boolean)
ActiveWorkbook.Worksheets("Le nom de ta feuille").Activate
End Sub

Peut-être rien compris, à toi de dire..........

A la sauvegarde, le fichier se repositionne sur la feuille en question et à l'ouverture, c'est tout bon.
 
Re : pb ouverture classeur et userform

Bonsoir Jeanpierre,

Non parce que mon classeur à plusieurs feuilles et que je souhaite ouvrir plusieurs userform faisant référence à chaque feuille.

d'un classeur A : 1er bouton pour ouvrir l'userform1 en pleine page du classeur B. 2ème bouton toujours dans le classeur A pour ouvrir l'userform 2 en pleine page du classeur B

Mes userform pleine page sont uniquement des apèrçus des feuilles du classeur B

C'est tout simplement pour avoir une vision plus rapide sans etre obligé d'aller sur la feuille

@ te lire
 
Re : pb ouverture classeur et userform

Re,

Merci mois ça me ruine le moral

enfin :
ouvrir un classeurB depuis un userform placé dans un classeur A OK
par contre ouvrir directement l'userform du classeur B ERREUR

Erreur d'exécution '401' :
Impossible d'afficher une feuille non modale lorsqu'une feuille modale est affichée


il faudrait trouver la parade pour ne pas avoir cette erreur et là je coince

??? et toi ainsi que le Forum
 
Re : pb ouverture classeur et userform

bonsoir le fil,
Dans ta procédure, je ne vois pas trace de l'activation du formulaire B1 !?
Donc teste avant End sub,
UserformB1.show (si c'est bien le nom du formulaire)
A+
kjin
 
Re : pb ouverture classeur et userform

Re
Autant pour moi, je viens peut-être de comprendre ton soucis. A tester:
1) à la fin de ta macro, insères
Application.Run "classeurB.xls!AffUsf1"
2)dans ton classeur B, ajoute un module
Sub AffUsf1()
UserForm1.Show
End Sub
A+
kjin
 
Re : pb ouverture classeur et userform

Re,

Encore une erreur :

Erreur d’exécution ‘1004’ :

‘B.xls’introuvable. Vérifiez l’orthographe du nom du classeur et la validité de l’emplacement.


Après le lancement de : 1) à la fin de ta macro, insères
Application.Run "classeurB.xls!AffUsf1"

Private Sub CommandButton1_Click()
Dim nomfichier As String
Dim nomclasseur As String
Dim x As Variant
nomclasseur = ActiveWorkbook.Name
nomfichier = "D:\Classeur B.xls"

On Error Resume Next
Set x = Workbooks(nomfichier)
If Err = 0 Then
MsgBox nomfichier & " deja ouvert "
Else
Workbooks.Open Filename:=nomfichier
Sheets("FeuilleB)").Select

End If

On Error GoTo 0


Application.Run "classeurB.xls!AffUsf1"

End Sub

Forcement il y a une possibilité mais ou et comment ?????
 
Re : pb ouverture classeur et userform

Re,
...
nomfichier = "D:\Classeur B.xls"
...
Application.Run "classeurB.xls!AffUsf1"[/COLOR]
Le nom du fichier n'est pas classeurB mais classeur B
Rectifies en conséquence et dis nous
A+
kjin
 
Re : pb ouverture classeur et userform

Re,

Non c'est parce que je retranscris mon classeur ne s'appel pas B et en réalité.

La méthode ne fonctionne pas c'est le problème.

Private Sub CommandButton1_Click()
Dim nomfichier As String
Dim nomclasseur As String
Dim x As Variant
nomclasseur = ActiveWorkbook.Name
nomfichier = "D:\Classeur B.xls"

On Error Resume Next
Set x = Workbooks(nomfichier)
If Err = 0 Then
MsgBox nomfichier & " deja ouvert "
Else
Workbooks.Open Filename:=nomfichier
Sheets("FeuilleB)").Select

End If

On Error GoTo 0

Application.Run "classeur B.xls!AffUsf1"

End Sub

Cela me donne toujours la meme erreur

malheureusement!!!!!
 
Re : pb ouverture classeur et userform

Bonsoir
Je viens juste de faire un essai entre 2 classeurs avec USF et cela marche bien
Peut-être juste une histoire de logique dans l'ouverture ?
ci joint un exemple BASIC , vraiment simple
je n'ai rien trouvé de compliqué ,.... mais je ne suis pas dans ton appli. !!!
ce que je comprends forcément
ET ENCORE ( n ième fois) !!!!!!!! : un bout de fichier est MEILLEUR
La dans l'exemple : USF1 va passer à USF2 et ouvrir le "userform"
Sinon il faut developper un peu + mais SIMPLEMENT
 

Pièces jointes

Re : pb ouverture classeur et userform

Bonsoir Herve,

Tres bien fichier seulement tu utilise private sub workbook_open() et pour mon application je dois passer sans ça. Là est mon tres gros probléme

Peut etre que je peux détourner le probleme en plaçant l'userform de mon classeur B dasn mon classeur A ci-joint fichier

Seulement là encore il me faut adapter l'intégration des données du classeur B
 

Pièces jointes

- 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

Discussions similaires

Réponses
2
Affichages
676
  • Question Question
Réponses
7
Affichages
380
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
272
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
921
Réponses
5
Affichages
719
Réponses
5
Affichages
493
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…