Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lien hypertexte et fichier avec userform

3 réponses
Avatar
YANN24
Bonjour,
dans mon fichier Excel "Exemple", je voudrais faire un lien hypertexte afin
d'ouvrir un fichier Excel "MOI".
Ce fichier "MOI" contient des macros et un userform à l'ouverture.

J'ai fais un lien hypertexte normal.
Il me demande si je veux activer les macros pour mon fichier "MOI.xls", je
dis OUI, et puis plus rien. le clavier ne répondu plus, y'a que la souris qui
marche.
Comment faire?
Merci. YANN

3 réponses

Avatar
michdenis
Bonjour Yann24,

Sous excel 2003, je n'arrive pas à reproduire ton problème !
Qu'a -t-elle de spécial ta procédure d'ouverture de ton fichier affichant le formulaire ?


Salutations!



"YANN24" a écrit dans le message de news:
Bonjour,
dans mon fichier Excel "Exemple", je voudrais faire un lien hypertexte afin
d'ouvrir un fichier Excel "MOI".
Ce fichier "MOI" contient des macros et un userform à l'ouverture.

J'ai fais un lien hypertexte normal.
Il me demande si je veux activer les macros pour mon fichier "MOI.xls", je
dis OUI, et puis plus rien. le clavier ne répondu plus, y'a que la souris qui
marche.
Comment faire?
Merci. YANN
Avatar
YANN24
re,
mon fichier à ouvrir comporte un userform à l'ouverture, avec un choix de
connexion (résumé ou administrateur), et si on fais "annuler", le fichier ne
s'ouvre pas.
je ne vois pas pourquoi le lien ne voudrais pas fonctionner. ci après, mon
userform et mon auto-open.Merci
YANN
-------
Private Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub CommandButton2_Click()
'si l'utilisateur clique sur Annuler, on quitte.
Unload Me
ThisWorkbook.Close
End Sub

Private Sub UserForm_Initialize()
'empêche l'affichage de la croix de fermeture en utilisant les API
'déclarées en début de module
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D")
& "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF

With Me.ComboBox1
.AddItem "Résumé 2005"
.AddItem "Administrateur"
End With

Me.TextBox1.Visible = False
Me.Label1.Visible = False
End Sub

Private Sub combobox1_Click()
Select Case Me.ComboBox1.Value

Case "Résumé 2005"
ThisWorkbook.IsAddin = False
Sheets(2).Visible = True
Sheets(3).Visible = True
Sheets(4).Visible = True
Sheets(5).Visible = True
Sheets(6).Visible = True
Unload Me


Case "Administrateur"
With Me
.ComboBox1.Visible = False
With .TextBox1
.Visible = True
.SetFocus
End With
.Label1.Visible = True
End With

End Select
End Sub
Private Sub commandbutton1_Click()

If Me.ComboBox1.Value = "" Then
MsgBox "vous n'avez rien saisi"
Me.ComboBox1.SetFocus
Else
If TextBox1.Value = "" Then
Else
If controlmdp(TextBox1.Value) = True Then
ThisWorkbook.IsAddin = False
ActiveWorkbook.Unprotect
For i = 1 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = True
Next
ActiveWorkbook.Protect
Unload Me
End If
End If
End If

End Sub
Function controlmdp(nommdp)
On Error Resume Next
tabmdp = Array("xxx")
trouve = Application.WorksheetFunction.HLookup(nommdp, tabmdp, 1, False)
If Err.Number <> 0 Then
Err.Clear
MsgBox "Vous n'êtes pas autoriser à pénétrer cet espace réservé"
Else
MsgBox "Autorisation acceptée"
controlmdp = True
End If
End Function
-------
Private Sub Workbook_Open()
UserForm1.Show
Onglets 'ça renomme les onglets
End Sub
----


Bonjour Yann24,

Sous excel 2003, je n'arrive pas à reproduire ton problème !
Qu'a -t-elle de spécial ta procédure d'ouverture de ton fichier affichant le formulaire ?


Salutations!



"YANN24" a écrit dans le message de news:
Bonjour,
dans mon fichier Excel "Exemple", je voudrais faire un lien hypertexte afin
d'ouvrir un fichier Excel "MOI".
Ce fichier "MOI" contient des macros et un userform à l'ouverture.

J'ai fais un lien hypertexte normal.
Il me demande si je veux activer les macros pour mon fichier "MOI.xls", je
dis OUI, et puis plus rien. le clavier ne répondu plus, y'a que la souris qui
marche.
Comment faire?
Merci. YANN





Avatar
michdenis
Bonjour Yann24,

De reproduire ton classeur, c'est un peu long.

Dans la première de la procédure Workbook_Open du classeur que tu ouvres avec le lien hypertexte, inscris un "Stop" comme ligne de
commande (sans les guillemets). Cela va faire arrêter ta macro avant même que ton formulaire s'affiche et si ton classeur n'est pas
verrouillée, la procédure va t'emmener directement sur cette ligne (en jaune). à partir de là, utilise le pas à pas avec la touche
F8. Tu vas peut être pouvoir identifier la ligne de code qui provoque une perte de contrôle !!!

Sinon, tu peux m'envoyer ton classeur sans aucune garantie... j'y jetterai un oeil plus tard aujourd'hui.


Salutations!



"YANN24" a écrit dans le message de news:
re,
mon fichier à ouvrir comporte un userform à l'ouverture, avec un choix de
connexion (résumé ou administrateur), et si on fais "annuler", le fichier ne
s'ouvre pas.
je ne vois pas pourquoi le lien ne voudrais pas fonctionner. ci après, mon
userform et mon auto-open.Merci
YANN
-------
Private Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub CommandButton2_Click()
'si l'utilisateur clique sur Annuler, on quitte.
Unload Me
ThisWorkbook.Close
End Sub

Private Sub UserForm_Initialize()
'empêche l'affichage de la croix de fermeture en utilisant les API
'déclarées en début de module
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D")
& "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF

With Me.ComboBox1
.AddItem "Résumé 2005"
.AddItem "Administrateur"
End With

Me.TextBox1.Visible = False
Me.Label1.Visible = False
End Sub

Private Sub combobox1_Click()
Select Case Me.ComboBox1.Value

Case "Résumé 2005"
ThisWorkbook.IsAddin = False
Sheets(2).Visible = True
Sheets(3).Visible = True
Sheets(4).Visible = True
Sheets(5).Visible = True
Sheets(6).Visible = True
Unload Me


Case "Administrateur"
With Me
.ComboBox1.Visible = False
With .TextBox1
.Visible = True
.SetFocus
End With
.Label1.Visible = True
End With

End Select
End Sub
Private Sub commandbutton1_Click()

If Me.ComboBox1.Value = "" Then
MsgBox "vous n'avez rien saisi"
Me.ComboBox1.SetFocus
Else
If TextBox1.Value = "" Then
Else
If controlmdp(TextBox1.Value) = True Then
ThisWorkbook.IsAddin = False
ActiveWorkbook.Unprotect
For i = 1 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = True
Next
ActiveWorkbook.Protect
Unload Me
End If
End If
End If

End Sub
Function controlmdp(nommdp)
On Error Resume Next
tabmdp = Array("xxx")
trouve = Application.WorksheetFunction.HLookup(nommdp, tabmdp, 1, False)
If Err.Number <> 0 Then
Err.Clear
MsgBox "Vous n'êtes pas autoriser à pénétrer cet espace réservé"
Else
MsgBox "Autorisation acceptée"
controlmdp = True
End If
End Function
-------
Private Sub Workbook_Open()
UserForm1.Show
Onglets 'ça renomme les onglets
End Sub
----


Bonjour Yann24,

Sous excel 2003, je n'arrive pas à reproduire ton problème !
Qu'a -t-elle de spécial ta procédure d'ouverture de ton fichier affichant le formulaire ?


Salutations!



"YANN24" a écrit dans le message de news:
Bonjour,
dans mon fichier Excel "Exemple", je voudrais faire un lien hypertexte afin
d'ouvrir un fichier Excel "MOI".
Ce fichier "MOI" contient des macros et un userform à l'ouverture.

J'ai fais un lien hypertexte normal.
Il me demande si je veux activer les macros pour mon fichier "MOI.xls", je
dis OUI, et puis plus rien. le clavier ne répondu plus, y'a que la souris qui
marche.
Comment faire?
Merci. YANN