Bonjour Ya'v, le Forum.
Bon Ya'v, là franchement, j'ai bien peur qu'on se dirige tout droit vers l'usine à gaz...
Voici une partie de ton code :
On error goto REr
...
Case Else
Fi = Application.GetOpenFilename(filefilter:="feuille modèle(*.xlt),*.xlt", Title:="sélectionnez le modèle souhaité...")
Sheets.Add after:=Sheets(Sheets.Count), Type:=Fi
GoTo Etq1
End Select
End With
If Fi <> False Then
Sheets.Add after:=Sheets(Sheets.Count), Type:="C:\Documents and Settings\Christian Cart\" & Fi & ".xlt"
Else
Msgbox Msg1, , Msg2
End If
Etq1:
...
...lorsque la fenêtre getopen.. est appelée depuis le case else et que l'on clic sur "annuler", ca me renvoie au getopen... de la gestion d'erreur REr
Oui Ya'v, je te confirme que, dans ton code, si
Fi vaut
False alors
Sheets.Add after:=Sheets(Sheets.Count), Type:=Fi ne peut que te générer une erreur qui va te rediriger vers "REr" (donc à nouveau vers un autre "GetOpenFilename")...
Par ailleurs, ton test
If Fi <> False Then qui suit le
End Select, ne sert à rien puisqu'avec ton
Goto Etq1, même si
Fi vaut
False et qu'il ne génère pas d'erreur, ton code ne passera pas par là de toute façon.
Je te refais donc une ultime proposition basée sur le code proposé précédemment (sans gestionnaire d'erreur) en ayant toutefois revu la façon de gérer la variable "Chemin" :
Private Sub ListBox1_Click()
Dim Chemin As Variant
Application.AskToUpdateLinks = False
Chemin = "C:\Documents and Settings\Christian Cart\"
With Worksheets("Trad")
Select Case ListBox1.Value
Case .Range("A102").Value
Chemin = Chemin & "contrôle.xlt"
Case .range(....
....
Case .Range("A115").Value
Chemin = Chemin & "total.xlt"
Case Else
Chemin = Application.GetOpenFilename(FileFilter:="Feuille modèle (*.xlt)," _
& "*.xlt", Title:="Sélectionnez le modèle de feuille souhaité...")
End Select
End With
If Chemin <> False Then
Sheets.Add after:=Sheets(Sheets.Count), Type:=Chemin
Else
MsgBox "Action abandonnée !"
End If
Application.AskToUpdateLinks = True
Unload Me
End Sub
Je te souhaite bon courage...
Cordialement.
Didier_mDF