D'application en Application

Bonsoir,

Je voudrai faire appel une fois de plus à vous, cette fois ci j’aimerai gérer mon application comme une gestion de menus et applications :

Exemple : La première feuille servirait à me guider vers d’autres feuilles (pas de pb)

Les autres feuilles doivent me servir à lancer d’autres applications.

Mon pb, j’arrive à lancer une application mais je n’arrive pas à gérer le lancement si celui-ci je l’ai déjà lancé (d’où l’utilité de fermer l’application appelé lorsque je reviens sur l’application du départ. Ci-joint mon travail. Dans Editions, j’aimerai lancer une application Emargement (déjà faite), quitter cette application, pouvoir y revenir etc.

A plus tard et merci d’avance

Annette

Bonsoir,

an.pi a écrit :

Ci-joint mon travail.

Oubli ?

Cordialement,

Excuses oubli du fichier joint du à grosseur >100

https://www.excel-pratique.com/~files/doc/LCf2SMenu_envoi.xls

Si par application tu cherches à ouvrir un autre fichier Excel, tu peux t'inspirer du code suivant

Sub Ouvrir_Appli1()
Dim Emplacement As String
Dim Fichier As String

Emplacement = ThisWorkbook.Path ' Fournir le nom du répertoire où est stocké le fichier Excel à lancer
Fichier = "test.xls"

Call Ouvrir_fichier(Fichier, Emplacement)
End Sub
Sub Ouvrir_Appli2()
Dim Emplacement
Dim Fichier

Emplacement = "C:\.......  ' Fournir le nom du répertoire où est stocké le fichier Excel à lancer"
Fichier = "Mon fichier excel2.xls"

Call Ouvrir_fichier(Fichier, Emplacement)
End Sub
Sub Ouvrir_fichier(Fic As String, Chemin As String)
'Ouvre un classeur Excel
Dim Syst_fic As Object
Dim Lancé As Boolean
Dim Classeur As Workbook

'Vérifie si le classeur Excel est déjà ouvert
For Each Classeur In Workbooks
    If LCase(Classeur.Name) = LCase(Fic) Then
        Workbooks(Fic).Activate
        Lancé = True
    End If
Next Classeur

'Ouvre le classeur si il n'est pas déjà ouvert
If Fic <> "" And Chemin <> "" And Not Lancé Then
    Set Syst_fic = Application.FileSearch
    With Syst_fic
        .LookIn = Chemin
        .Filename = Fic
        If .Execute > 0 Then ' si le fichier existe dans le répertoire fournit
            Fic = Chemin & "\" & Fic
            Workbooks.Open Filename:=Fic
        End If
    End With
End If

End Sub

Si ce que tu souhaites c'est de lancer des applis (fichier.exe) le code est plus complexe.

Cordialement

Édition par Mytå, pour ajout des balises CODE.

Bonjour,

Grand merci à Demeb pour la solution à ma question, c'est ce que je voulais trouver, seul je ne l'aurai pas trouvé, je n'ai pas "encore les armes necessaires".

En se qui concerne le lancement d'un ".exe", celà m'arrivera certainement.

Si la réponse toute faite je suis preneuse, sinon je poserai la question le temps venu.

Pour la procédure de lancement d'une autre appli, peut on ajouter quelque part la fermeture de la procédure appelante.

Dans mon application plusieurs procédures seront appelées et même rappelées (va et vient possibles).

Dans l'espoir de te relire (Demeb) je te souhaite un bon "Fin de Dimanche"

Annette

Pour fermer le classeur appelant, tu peux utiliser le code suivant

Sub Ouvrir_Appli1()
Dim Emplacement As String
Dim Fichier As String

Emplacement = ThisWorkbook.Path ' Fournir le nom du répertoire où est stocké le fichier Excel à lancer
Fichier = "test.xls"

Call Ouvrir_fichier(Fichier, Emplacement)
Application.ThisWorkbook.Close 'ferme le classeur appelant

End Sub

Cordialement

Édition par Mytå, pour ajout des balises CODE.

Bonsoir à tous.

Encore merci pour toutes ces excellentes réponses.Probléme soldé.

Annette

Rechercher des sujets similaires à "application"