IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Msgbox avec une valeur entrante [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 57
    Par défaut Msgbox avec une valeur entrante
    Bonjour à tous,

    Petit soucis:

    J'aimerai faire une MsgBox personnalisée où je demande à l'utilisateur d'entrer un nom de fichier (si le fichier est déjà présent dans le répertoire) et quand il appuie sur Ok le programme récupère ce nom, et enregistre le fichier à l'endroit et sous le nom donné par l'utilisateur.
    Sauf erreur VBA ne propose pas de msgbox où l'utilisateur, peut entrer une valeur, et on peut récupérer cette valeur en VBA?

    Et donc j'ai crée un formulaire tout simple, avec une zone de texte et un bouton OK, et j'ouvre ce formulaire après avoir scanner le dossier.
    Le probleme, c'est que j'aimerai stopé le code VBA, et que le code reprenne une fois que l'utilisateur à cliqué sur OK.

    voici mon code:
    cette fonction cherche dans le répertoire "chemin" si le nom du fichier existe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Public Function VerifExistant(nomFichAs String, chemin As String)
    Dim fso As FileSystemObject, dossier As Folder, sousdossier As Folder, fichier As File
    Set fso = New FileSystemObject
    Set dossier = fso.GetFolder(chemin)
     
     
    For Each fichier In dossier.Files
            If (InStr(1, fichier, nomFich, 1) <> 0) Then
                NomsauveStat = True
                DoCmd.OpenForm "Remplacer", acNormal
                Form_Remplacer.TextFichExistant = Replace(nomFich, ".xls", "")
                Exit Function
            End If
        Next
    End Function
    cette fonction s'execute lorsque l'utilisateur appui sur le formulaire Form_Remplacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Commande3_Click()
    NomsauveStat = False
     
    If Len(Form_Remplacer.TextFichExistant) = 0 Then
        MsgBox "Vous devez écrire un nom."
        Exit Sub
    End If
    If NomsauveStat = True Then
        sauvegardeStat = Form_Remplacer.TextFichExistant.Value
        GoTo saveStat
    End If
     
    NomsauveStat = False
    End Sub
    donc le soucis c'est que le code ne sarrete pas, le formulaire Form_Remplacer est ouvert, mais le code continu, donc l'utilisateur ne peut pas changer le nom du fichier du coup!!

    help help! jespere que j'ai été assez claire!

    merci!!

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu peux créer un formulaire dédié, ce qui est plus pro et plus propre que l'usage de la fonction InputBox$()...

    Et entre (), un FSO possède la propriété FileExists()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Function LeFichierExiste(ByVal NomDuFichier As String)
    Dim oFso                                               As FileSystemObject
        Set oFso = New FileSystemObject
        LeFichierExiste = oFso.FileExists(NomDuFichier)
        Set oFso = Nothing
    End Function
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 57
    Par défaut
    bonjour argyronet!
    et merci pour ta rapidité!!

    Alors
    1) grande nouvelle pour moi, je savais pas que fso, avait une fonction FileExists!!! c'est plus sympa que ma boucle for je pense!

    2) Peux tu etre plus précis sur les formulaire dédié?
    merci d'avance!

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par défaut


    Regarde toute les propriétés du FSO, tu vas être agrablement surprise...
    Pour le formulaire, je ne sais pas, par exemple :
    Images attachées Images attachées  
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 57
    Par défaut
    c'est un formaulaire que tu as créé ou c'zest une msgbox comprise dans access?
    car j'ai créé aussi un formulaire qui ressemble au tiens, mon pb cest que je veux stoper el code, le temps que lutilisateur tape le nouveau nom et ensuite, lorsqu'il tape sur OK, le code reprend.

    tu as une idée?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. MsgBox avec une valeur
    Par Tintou dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/04/2008, 10h38
  2. problème avec une valeur decimal
    Par vbcasimir dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2005, 13h52
  3. Problème avec une valeur decimale
    Par vbcasimir dans le forum Linux
    Réponses: 3
    Dernier message: 12/07/2005, 11h00
  4. avoir un champ avec une valeur numerique qui se decremente
    Par romeo9423 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 15/02/2005, 14h29
  5. champ avec une valeur?
    Par sonialem2000 dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/06/2004, 08h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo