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

Macros et VBA Excel Discussion :

Problème Récupérer Valeur d'un TextBox


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Problème Récupérer Valeur d'un TextBox
    Bonjour à tous,

    Je débute en VBA Excel et j'ai un problème pour récupérer la valeur d'une feuille à créer .

    Voici le bout de code que j'ai pu faire

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Function Feuill_Pt (ByVal NameSheet As String) As Boolean
    Dim n As Integer
     
    Sheets.Add: ActiveSheet.Name = NameSheet
     
    n = 1 'Affecter valeur 1 à n
    Sheets(NameSheet).Select  'X=Le nom de ta feuille
    Sheets(NameSheet).Move Before:=Sheets(n)   'Déplace la feuille X avant la dernière feuille comptée.
     
    Worksheets(NameSheet).Activate
     
    End Function
     
     
    Function IsExist(ByVal NameSheet As String) As Boolean
    Dim oSheet As Worksheet
     
    For Each oSheet In ThisWorkbook.Sheets
        If oSheet.Name = NameSheet Then IsExist = True: Exit For
    Next oSheet
     
    End Function
     
    Private Sub BUT3_Click()
    Filename = Application.GetOpenFilename("Fichier texte (*.txt),*.txt")
    FORM_DAT.Show
    If Not IsExist(Dat) Then Feuill_Pt (Dat)
     
    End Sub
     
    Private Sub FBUT1_Click()
    Dat = TBOX1.Value
    FORM_DAT.Hide
    Unload Me
    End Sub
    Le but étant de sélectionner un fichier texte à traiter puis d'importer les résultats dans une nouvelle feuille sous Excel que je nommerai avec la variable dat. La variable correspond à la valeur d'un textbox que je récupère à partir d'une form. Mais j'ai chaque l'erreur 1004 et le code plante sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets.Add: ActiveSheet.Name = NameSheet
    Dans la fonction Feuill_Pt en début de mon code.

    Pourquoi ?
    Je ne comprends pas d'ou vient l'erreur.

    Merci par avance de votre aide.
    John

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    La ligne correspond à 2 instructions. Laquelle lève l'erreur?

    Si c'est la deuxième, c'est probablement qu'il existe déjà une feuille du même nom.

    Cordialement,

    PGZ

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Le problème ne vient pas de là je pense car j'utilise cette fonction autrepart et je n'ai pas de problème mais avec un code du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsExist("Stations") Then Feuill_Pt ("Stations")
    Le problème vient je pense de ma variable Dat

    à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FORM_DAT.Show
    If Not IsExist(Dat) Then Feuill_Pt (Dat)
    Je crois qu'il affecte la valeur "" à Dat mais pourquoi ???

    Merci encore de ton aide.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Effectivement, l'erreur doit venir de là If Not IsExist(Dat) Then Feuill_Pt (Dat).
    Dans ton code, Feuill_Pt est une fonction booléenne que tu traites sur cette ligne comme une méthode.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsExist(Dat) Then MsgBox Feuill_Pt(Dat)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsExist(Dat) Then maVariable = Feuill_Pt(Dat)
    Serait correct.

    Cela suppose évidemment que ta variable Dat contienne bien un string.

Discussions similaires

  1. Petit problème récupérer valeur
    Par punisher999 dans le forum JDBC
    Réponses: 0
    Dernier message: 18/10/2010, 04h06
  2. Réponses: 3
    Dernier message: 18/09/2007, 15h54
  3. Problème récupérer valeurs de JTextField
    Par adn013 dans le forum Composants
    Réponses: 5
    Dernier message: 15/06/2007, 11h59
  4. Problème récupérer valeurs de JTextField
    Par adn013 dans le forum Composants
    Réponses: 4
    Dernier message: 14/06/2007, 15h31
  5. [c#]récupérer valeur d'un TextBox dans un Repeater
    Par Filippo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/03/2007, 10h48

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