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 :

Recuperer le contenu d'une zone de texte dans une variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut Recuperer le contenu d'une zone de texte dans une variable
    Bonjour, je viens de créer un 'UserForm' avec une zone de texte et un bouton 'OK', j'aimerais que lorsque je click sur le bouton 'ok', une rechercher s'effectue sur ma feuille Excel avec pour valeur ce que j'ai rentrer dans ma zone de texte.
    Voici le code de mon bouton 'ok'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub btn_ok_Click()
        With Worksheets(1).Range("a1:a65536")
            Set C = .Find(X, LookIn:=x1Values)
        End With
    End Sub
    J'aimerais donc que X prennent la valeur de ma zone de texte.
    Merci de votre aide.

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Remplace ton x par TextBox1.Text (vérifie tout de même que ce soit le nom de la TextBox dans laquelle a été entré le texte souhaité) et ca devrait marché
    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    J'ai remplacer mon x, par txtboxJournal.Text ( c'est le nom de ma textBox ), mais lorsque j'effectue le test, j'ai un message d'erreur 'erreur d'execution '9'
    L'indice n'appartient pas a la selection.

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    bonjour,
    as-tu déclarer C auparavant ?
    Vérifies aussi, si le code n'est pas dans l'userform, ajouter le nom de l'UF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    userform1.txtboxJournal

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    Je ne comprend pas ton dernier poste désolé. Mais je viens de déclarer 'c', et maintenant il me dit
    'erreur de compilation :
    sub ou function non définie'

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Peux tu coller ton code stp, pour qu'on voie où ca bug.
    Tks
    a+

  7. #7
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Je suis d'accord avec melouille,

    envoies un exemple

    Ou est situé ton textbox, dans un userform, j'imagine ?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    Sur ma feuille j'ai cliquer sur 'Outils' 'Maccro' 'Visual Basic Editor' puis j'ai creer un 'UserForm' dans l'onglet 'feuille', j'ai dessiner ma boite, et voici le code que j'y est mit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub btn_ok_Click()
    Dim C As Range
        With Documentecriture(1).Range("a1:a65536")
            Set C = .Find(txtboxJournal.Text, LookIn:=x1Values)
        End With
    End Sub
     
     
    Private Sub txtboxJournal_Change()
     
    End Sub

  9. #9
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Reprenons,
    dans l'éditeur VBA, tu as créé un USF sur lequel tu as ajouté un textbox nommé txtboxJournal et un bouton de commande nommé btn_ok, je remets ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub btn_ok_Click()
    Dim C As Range
    With Documentecriture(1).Range("a1:a65536")
    Set C = .Find(txtboxJournal)
    'il manque de quoi travailler
    if not C is nothing then
    'ce que tu veux faire
    end if
    End With
    End Sub
    alors si ton but est de mettre le résultat dans une variable x
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub btn_ok_Click()
    Dim C As Range, x as string
    With Documentecriture(1).Range("a1:a65536")
    Set C = .Find(txtboxJournal)
     
    if not C is nothing then
    x = c.value
    end if
    End With
    End Sub

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    et le but de cet userforpm est de renter une valeur dans lma textBox pour la rechercher dans ma colone 1, et d'affichier l'ensemble des lignes qui contiennent la valeur saisie

    j'ai coller le code que tu m'a filer, mais j'ai toujours le message d'erreur me disant ' sub ou function non definie'

  11. #11
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Ok,
    admettons que tu recherche la valeur de B sur la meme ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub btn_ok_Click()
    Dim C As Range
    With Documentecriture(1).Range("a1:a65536")
    Set C = .Find(txtboxJournal)
     
    if not C is nothing then
    msgbox c.offset(c.row,1)'t'envoie un message
    end if
    End With
    End Sub
    as-tu vérifié le nom de ta feuille
    Documentecriture(1)

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    Bien jouer c'était le nom de la feuille j'avait vut dans l'exemple WorkSheets(1), je croyait qu'il fallait dc mettre (1) aps le nom de notre feuille. Mais maintenant, j'ai une erreur d'execution '424'/ objet requis'

  13. #13
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Il faut que tu mettes entre les parenthèses entre guillemets le nom de ta feuille soit Worksheets("XXX") où XXX est le nom de ta feuille, je suppose Worksheets("Documentecriture").Range...

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    Merci sa marche presque, sauf que la, sa m'affiche seulement le contenut d'une seule cellule, alors que j'aurrait aimer que cela m'affiche les lignes entieres ou la premiere colonne commence par le numero saisie

  15. #15
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bien sur,
    l'exemple que j'ai donné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox c.offset(c.row,1)
    ne renvoie que la cellule B mais il faut adapter, de combien de colonnes disposes tu ?

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    du maximum de colonnes 256, mais j'aimerais mieux afficher le resultat dans une nouvelle feuille plutot que dans une message box

  17. #17
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    j'imagine bien, alors on va adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub btn_ok_Click()
    Dim C As Range
    With Documentecriture(1).Range("a1:a65536")
    Set C = .Find(txtboxJournal)
     'un exemple
    if not C is nothing then
    sheets("feuil2").cells(2,1).entirerow = sheets("documentecriture").cells(c.row,1).entirerow
    end if
    End With
    End Sub
    à verifier

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    Il m'indique 'erreur d'execution '9'/ l'indice n'appartient pas a la selection'

    Pour ajouter une nouvelle feuille il faudrait apparement selon l'aide faire 'Worksheets.Add '

  19. #19
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    essaies déjà le code en ajoutant avant une feuille manuellement, après on verra, je n'ai plus trop le temps (ce soir oui), vérifie que ta feuille se nomme feuil2
    a ce soir

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Points : 75
    Points
    75
    Par défaut
    J'ai bien réussit a mettre le code pour rajouter une nouvelle feuille, mais elle est toujours vierge. Oki merci bcp de ton aide, ce soir je ne pourrais pas avoir mon code, car je ne serait pas en entreprise, mais si demain tu a de nouveau du tps, merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [PHPExcel] Trouver le contenu d'une zone de texte dans une feuille
    Par gfevrier dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 29/03/2012, 15h19
  2. [AC-2007] Alimentation d'une zone de texte avec une zone de texte déroulante
    Par BRUNO71 dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/12/2010, 19h54
  3. Réponses: 7
    Dernier message: 11/02/2010, 22h00
  4. Réponses: 4
    Dernier message: 28/04/2008, 12h11
  5. afficher le contenu d'une zone de texte dans une page WEB
    Par tomman dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 11/06/2007, 14h55

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