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 :

dernière cellulepleine dans un textbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Par défaut dernière cellulepleine dans un textbox
    Salut la compagnie

    Voici mon pb.
    J'ai créé un form pour remplir une colone à partir d'un textbox1, et j'aimerais qu'apparaisse à l'ouverure dans un textbox2, la dernière valeur enregistrée dans ma textbox1.

    En fait j'ai essayé avec une commande type .ControlSource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialyse()
     
    num = Sheets("profil").Range("A65536").End(xlup).Row
    textbox2.ControlSource = num
     
    End sub
    Mais rien a y faire.

    Alors j'ai essayé de voir avec une cellule bien définie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialyse()
     
    worksheets("profi"l).activate
    textbox2.ControlSource = "A1"
     
    End sub

    Rien non plus alors que ma case A1 est remplie!!!
    Finalement je ne comprends plus rien à la commande ControlSource.
    Il n'y a qu'en passant par les propriétés de mon textbox2 (case ControlSource) que j'arrive à afficher ce qui est dans A1.
    Mais moi je veux pas afficher la valeur d'une cellule fixe mais bien celle de la dernière cellule de ma colone remplie au moyen de mon textbox1.

    Merci d'avance.
    En espérant que mes explications de débutant soient à peu près claires.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu mets ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private Sub textBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    textbox2.text = textbox1.text
    End Sub
    ou ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private Sub textbox1_Change()
    textbox2.Text = textbox1.text
    end sub

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Par défaut
    ouais ça marche, mais j'avais déjà essayé.
    En fait c'est pas vers ça que je veux tendre.

    Je voudrais qu'à l'ouverture du userform le textbox2 m'affiche la dernière valeur de la colonne A enregistrée par le textbox1. Or avec cette méthode, ça ne se fait que lorsque l'on enregistre une valeur avec le textbox1. C'est pour ça que j'avais essayé avec une commande ControlSource placé dans initialyse().

    Ex:

    Je rentre dans ma colonne A les valeurs suivantes par le biais de mon textbox1 :

    CHOUCROUTE
    FILET
    BOEUF
    POIVRON
    STEACK

    Ensuite je ferme mon UserForm.
    Et quand je réouvre mon form, je veux que dans mon textbox2 s'affiche "STEACK".
    Or avec la méthode que tu me décris (que j'avais déjà essayé), rien ne s'affiche dans mon box2. Par contre si je valide par exemple "PATATE", ça va alors seulement s'afficher dans mon box2. Mais pour moi c'est trop tard.

    En fait mon userform est un formulaire de consultation d'un profil utilisateur dont on peut actualiser certains paramètres pour que par la suite le dernier paramètre rentré puisse être utilisé. Ce paramètre étant un équipement.
    Cependant je ne veux pas effacer à chaque nouvel actualisation l'ancien équipement, car un autre form avec un listbox utilise cette plage de données pour proposer rapidement un choix d'équipements à l'utilisateur.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2003
    Messages : 50
    Par défaut
    Salut,

    Dans l'évènement Activate du formulaire mets le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Dim llngRow As Long
     
        llngRow = ActiveSheet.Range("A65536").End(xlUp).Row
     
        TextBox2 = ActiveSheet.Cells(llngRow, 1)
    Se code va initialiser la valeur de la deuxième textbox.

    il faut que tu rajoutes la mise à jour de cette valeur quand l'utilisateur a saisie une nouvelle valeur dans la première textbox.

    A+,
    MasterSleepy.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ou tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialyse()
     
    worksheets("profi"l).activate
    Me.textbox2.Text= Worksheets("LaFeuille").Range("A1").value
     
    End sub
    Tu as essayé, ça ?
    RowSource n'est pas une propriété des TextBox (VBA 2003)

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Par défaut
    désolé mais ça ne fonctionne pas non plus.
    Peux tu me dire à quoi correspond Me. ???

    J'ai essayé d'autres choses mais sans succés.
    En fait j'arrive à afficher la bonne valeur dans le textbox2 mais pas à l'ouverture du userform!! Elle s'affiche uniquement quand j'active le textbox1 : je rentre ma valeur dans le box 1, je valide et là seulement la valeur de la dernière cellule utilisée s'affiche dans mon textbox2. Moi je voudrais que ça s'affiche dés l'ouverure du userform, et que le textbox1 ne soit là que pour ajouter une valeur supplémentaire.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/11/2009, 16h18
  2. [C#] Obtenir un format dans un textbox
    Par kenzo080 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 16/04/2007, 16h04
  3. [C#] Retour à la ligne dans un TextBox MultLine
    Par Oberown dans le forum ASP.NET
    Réponses: 3
    Dernier message: 06/07/2005, 11h39
  4. [c#]Gros text à afficher dans une textbox
    Par famemaur dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/05/2005, 10h12
  5. Réponses: 2
    Dernier message: 08/04/2004, 11h11

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