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 :

Une Textbox à plusieurs cibles


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Par défaut Une Textbox à plusieurs cibles
    Bonjour à tous,

    je suis toujours sur le même projet qui m'a valut plusieurs discussions sur le forum, et je n'ai toujours pas fini.(malgré de bon coups de pouce de forumeurs)

    Cette fois, mon problème semble simple, mais j'ai essayé plusieurs choses sans succès

    Je voudrais qu'en remplissant une textbox, cela remplisse plusieurs colonnes dans plusieurs tableaux, tout en passant à la ligne

    j'ai cette formule que j'ai essayé d'adapter, en vain:

    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
     
     
    Dim ligneCourante As Integer
    Dim celluleCourante As Excel.Range
    Set celluleCourante = Sheets("Evaluation des prod.").Range("W4")
    Set cellulecourante= Sheets("Détails des prod.").Range("A3")
    Set celluleCourante = Sheets("Substances chim.").Range("A13")
    Set celluleCourante = Sheets("BD").Range("E2")
     
    Do While celluleCourante.Value <> ""
        Set celluleCourante = celluleCourante.Offset(1, 0)
    Loop
    ligneCourante = celluleCourante.Row
     
    'écrire les infos
    With Sheets("Evaluation des prod.")
        .Range("W" & ligneCourante) = Me.TextBox1.Text
    End With
     
    With Sheets("Détails des prod.")
        .Range("A" & lignecourante)= Me.Textbox1.text
    End with
     
    With Sheets("Substances chim.")
        .Range("A" & ligneCourante) = Me.TextBox1.Text
    End With
     
     
    With Sheets("BD")
    .Range("E" & ligneCourante) = Me.TextBox1.Text
    End With
    et de plus, dans le tableau de la feuille "BD", les infos ne doivent pas passer 1 ligne mais 20


    Et j'ai un autre problème, je ne peux pas utiliser cette formule plusieurs fois
    ("propriété ou méthode non gérée par cet objet"), même pour différentes textbox

    voilà, si quelqu'un a une idée

  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
    Oui, j'ai une idée mais tu ne dis pas dans quel événement du textbox tu mets ce code.
    Tu as deux solutions, une consistant à attendre chaque retour à la ligne avant de renseigner ta feuille de calculs, et l'autre, que j'utiliserais car elle permet une relecture et des corrections éventuelles, qui consisterait à ne renseigner tes cellules qu'une fois la textbox remplie.
    Ceci dit, comment passes-tu à la ligne, et quelle solution souhaites-tu ?
    (ça fait deux questions )
    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Par défaut
    désolé mais je n'ai pas trop compris tes questions,

    en fait, je souhaite que ma textbox une fois remplie (un mot en général), je clique sur mon bouton enregistrer, et cela va disposer ce qui a été écrit dans la textbox dans plusieurs cibles: qui sont des cellules

    et il faut que si j'enregistre, et que je rouvre mon UF, et que je reremplis ma textbox, cela remplie les mêmes cibles, mais 1 ligne plus bas

    voilà, je suis novice donc j'ai un peu de mal

  4. #4
    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
    Autrement dit, tu veux connaître la premièreligne vide de la colonne.
    Tu as plusieurs méthodes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NoLigne = Cells.SpecialCells(xlCellTypeLastCell).Row + 1
    mais ceci implique que la ligne sur laquelle tu veux écrire soit bien la dernière de la feuille. Sinon, tu dis
    A+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Autrement dit, tu veux connaître la premièreligne vide de la colonne.
    mais ceci implique que la ligne sur laquelle tu veux écrire soit bien la dernière de la feuille. Sinon, tu dis
    A+
    il faudrait que si je ne rempli pas la textbox , cela passe une ligne quand-même

    et donc à chaque fois, ce que je veux écrire passe dans la première cellule vide de la colonne désignée en partant du haut (en prenant compte de ce que je t'ai dit plus haut)

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    D'après ce que j'ai compris, ça devrait donner ceci (tu peux supprimer toutes les autres lignes de ton code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'écrire les infos
    Sheets("Evaluation des prod.").Range("W65535").End(xlUp).Offset(1, 0) = Me.TextBox1.Text
    Sheets("Détails des prod.").Range("A65535").End(xlUp).Offset(1, 0) = Me.TextBox1.Text
    Sheets("Substances chim.").Range("A65535").End(xlUp).Offset(1, 0) = Me.TextBox1.Text
    Sheets("BD").Range("E65535").End(xlUp).Offset(20, 0) = Me.TextBox1.Text
    Par contre "il faudrait que si je ne rempli pas la textbox , cela passe une ligne quand-même" quel intérêt ?

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

Discussions similaires

  1. Plusieurs variables en entrées d'une Textbox d'un userform
    Par luksvibes dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/09/2013, 10h31
  2. [XL-2003] VB: Plusieurs données dans une textbox
    Par Lajouv' dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/03/2012, 12h45
  3. Afficher plusieurs lignes dans une TextBox
    Par Spikuria dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 17/06/2009, 09h01
  4. valeur de plusieur cellules dans une textbox
    Par fabrice44 dans le forum VB.NET
    Réponses: 3
    Dernier message: 17/05/2008, 09h03
  5. referencement (une ou plusieurs cibles) ?
    Par bibile dans le forum Référencement
    Réponses: 5
    Dernier message: 04/06/2006, 13h12

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