VBA - "Excel a cessé de fonctionner" sur lien Hypertexte
Bonjour à tous,
Me voilà de nouveau parmi vous en quête de réponse quant à autre problème étrange. Voici la configuration du problème.
J'ai 2 onglets, un premier qui me sert de page d'accueil depuis lequel je lance des macros de recherche et un second qui représente une base de données de fichiers avec des liens hypertexte vers ces fichiers.
J'utilise un userform pour rechercher les fichiers, l'utilisateur rentre un numéro de fichier et le programme ouvre ensuite ce fichier. Le problème est que lorsque celui s'ouvre, un bug apparait et m'empêche d'écrire dans les cellules ou d'effectuer toutes actions y compris fermer le fichier. Après un court laps de temps, le fichier plante et un message d'erreur apparaît. Ce problème survient pour tous les fichiers.
Y a t'il un problème avec mes codes ?
Code appelant l'userform :
Sub Recherche_N°()
'Ouvre l UserForm Recherche_num
Recherche_num.Show
End Sub
Code de la recherche et de l'ouverture du fichier
Dim NuméroUtilisateur As Variant
Dim NuméroRecherché As Variant
Dim NomReporting As String
Dim CheminTotal As String
Private Sub CommandButton1_Click()
'Ouvre TextBox1 demandant à l utilisateur d entrer un numéro de feuille de reporting
'"NuméroUtilisateur" prend alors la valeur de la TextBox1
NuméroUtilisateur = TextBox1.Value
'Recherche la valeur de "NuméroUtilisateur" dans la feuille "Listing" dans les cellules de A7 à A200
Set NuméroRecherché = Worksheets("Listing").Range("$A$7:$A$250").Find(what:=NuméroUtilisateur, LookIn:=xlValues, lookat:=xlWhole)
'Si l utilisateur rentre un numéro qui n'existe pas, alors le message "Entrez un numéro de feuille valide" s'affiche
If NuméroRecherché Is Nothing Then
MsgBox "Entrez un numéro de feuille valide."
Else
'Si l'utilisateur ne rentre aucun numéro, alors le message "Entrez un numéro de feuille" s'affiche
If NuméroRecherché = "" Then
MsgBox "Entrez un numéro de feuille."
'Sinon, active la feuille "Listing"
'Selectionne la valeur "NuméroRecherché"
Else
Worksheets("Listing").Activate
NuméroRecherché.Select
'La variable "CheminTotal" prend la valeur de la cellule située à 5 colonnes à droite de la cellule sous la forme X:\Y\Z
'La variable "NomReporting" Prend la valeur de la cellule située à 4 colonnes à droite de la cellule fichier.xl*
'Ouvre le fichier à l'aide du lien Hypertexte contenu dans la variable "CheminTotal"
'Ferme l'UserForm1
'Active le précédemment ouvert, à l'aide du nom du fichier contenu dans la variable "NomReporting"
NomReporting = ActiveCell.Offset(0, 4).Value
CheminTotal = ActiveCell.Offset(0, 5).Value
Workbooks.Open Filename:=CheminTotal
Unload Recherche_num
ThisWorkbook.Close savechanges:=False
End If
End If
End Sub
Merci d'avance.