Manipulation des form

Résolu
mijean94 Messages postés 415 Date d'inscription   Statut Membre Dernière intervention   -  
mijean94 Messages postés 415 Date d'inscription   Statut Membre Dernière intervention   - 28 avril 2016 à 14:25
Bonjour,

J’ai le code ci-dessous pour me permettre d’ouvrir un fichier qui est dans un répertoire défini.

Sub recherche_devis1()
Dim chemin_devis As String
chemin_devis = Sheets("données_logiciel").Range("E2").Value
If chemin_devis <> "" Then GoTo 1
MsgBox "Chemin introuvable, avez vous mémorié un chemin ?"
GoTo 2:
1:
chemin_devis = Sheets("données_logiciel").Range("E2").Value
CreateObject("Wscript.shell").Popup "Une boite de dialogue va s'afficher. A vous de choisir le fichier Devis à ouvrir ? ", 10, "choix du fichier à ouvrir"
If Dir(chemin_devis, vbDirectory) <> "" Then
Application.Dialogs(xlDialogOpen).Show chemin_devis
Else
MsgBox "Chemin introuvable, avez vous mémorié un chemin ?"
End If
2:
Unload formulaire_debut 'Form
End Sub



Je souhaiterais que lorsque le bouton annuler est actionné, la fonction Unload formulaire_debut ne soit pas activée donc que le programme retour sur le formulaire début.


a) Que faudrait-il faire, je ne trouve pas la solution ?

b) En plus y-a-t-il une solution pour interdire de sortir d’un Form par la petite croix en haut à droite ?

c) et pour finir sur le sujet, pour fermer un Form faut-il toujours le nommer ou peut-on utiliser une commande standard ?

Merci pour vos réponses

Cordialement
A voir également:

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Tu trouveras des réponses à tes questions a et c ici:

https://silkyroad.developpez.com/VBA/Form/#LI

Pour la question b, là:

https://vb.developpez.com/faqvba/?page=3.6#UFclosebutton
0
mijean94 Messages postés 415 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour,

Merci pour les informations.

Pour la question a), je n’ai pas trouvé ou compris ce qu’il faut faire dans les liens que tu me donnes ?

Pour la question b) j’ai bien trouvé le code, si dessous, pour y réponde, mais ou faut-il mettre ce code ?

Private Sub Form_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub


Pour la question c) c’est OK

Merci pour ton aide.

Cordialement
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Pour la question a), je n’ai pas trouvé ou compris ce qu’il faut faire dans les liens que tu me donnes ?

En supprimant cette ligne tout simplement:

Unload formulaire_debut  'Form


Pour la question b) j’ai bien trouvé le code, si dessous, pour y réponde, mais ou faut-il mettre ce code ?

Si tu avais tout lu tu aurais trouvé ceci:

https://silkyroad.developpez.com/VBA/Form/#LIV

0
mijean94 Messages postés 415 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour,

Merci pour tes réponses. Mais même avec une lecture complète de tes liens je n’ai rien compris.

Toutes mes excuses mais j’essai de faire des choses en VBA que depuis le début de l’année car j’ai un peu de temps comme je suis à la retraite, mais je n’ai aucunement les capacités ou même l’envie de mémoriser toutes les subtilités du code.

Je bidouille en cherchant à droit et à gauche et avec l’aide de qui veut bien sur le forum pour pouvoir essayer de réaliser des petites applications pour mon plaisir et peut-être un jour comprendre donc réaliser seul une petite séquence.

Bien cordialement
0
f894009 Messages postés 17270 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour a vous tous,

question a)

si annuler ou croix boite dial ne pas sortir de l'UF

Sub recherche_devis1()
    Dim chemin_devis As String, Fichier
    
    chemin_devis = Sheets("données_logiciel").Range("E2").Value
    If chemin_devis <> "" Then      'variable non vide
        chemin_devis = Sheets("données_logiciel").Range("E2").Value
        CreateObject("Wscript.shell").Popup "Une boite de dialogue va s'afficher. A vous de choisir le fichier Devis à ouvrir ? ", 10, "choix du fichier à ouvrir"
        If Dir(chemin_devis, vbDirectory) <> "" Then    'repertoire existe
            Fichier = Application.Dialogs(xlDialogOpen).Show(chemin_devis)
            If Fichier = False Then    'choix Annuler ou croix
                Exit Sub      'sortie sub
            End If
        Else
            MsgBox "Chemin introuvable: " & chemin_devis & " ?"
        End If
    Else
        MsgBox "Chemin introuvable si cellule vide, avez vous mémorisé un chemin ?"
    End If
    Unload formulaire_debut  'Form
End Sub
0
mijean94 Messages postés 415 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour à tous,

Un grand merci pour ta réponse qui solutionne mes points a et b et en plus j'ai réussi à transposer une partie de ton code sur d'autres Form. formidable.

Sans avoir les connaissances nécessaires pour réaliser du code, la réponse par l'exemple est plus facile à comprendre et peut-être à retenir et utiliser, dans mon cas.

Ce qui n'empêche pas de lire toute les propositions du forum, au minimum par respect pour celui qui à pris le temps de répondre.

Bien cordialement
0