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 :

Donner une valeur à une textbox dès son ouverture et modification


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut Donner une valeur à une textbox dès son ouverture et modification
    Bonjour,
    J'ai un problème avec mes textbox. J'ai un userform avec deux textbox "txtBoxPrenom" et "txtBoxNom" qui doivent dès l'ouverture du userform avoir comme valeur le nom et prénom de ma liste. Et ensuite dès que l'utilisateur choisit présent ou absent un 1 ou 0 soit mis sur la ligne en colonne E. De plus les valeurs doivent passer a la ligne suivante jusqu'à la fin. La liste se trouve dans une feuille qui varie en fonction de ce que le professeur choisit son cours.
    (Je suis débutant en vba et j'apprend par moi même donc soyez indulgent )
    Images attachées Images attachées    

  2. #2
    Membre du Club
    Femme Profil pro
    Rédacteur technique
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Par défaut
    Bonjour Skynee,

    Si tu veux simplement afficher les noms et prénoms, sans que l'utilisateur puissent les modifier, ce sont des intitulés ("labels") qu'il te faut, pas des textbox.
    Nom : Sans titre.jpg
Affichages : 1082
Taille : 66,6 Ko

    Quant à la syntaxe pour changer le texte affiché dans ton intitulé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomDuLabel.Caption = NomDeLaFeuille.Range("Adresse de la cellule contant le nom").Value
    Si tu as besoin de plus d'aide, mets-nous ton code, s'il te plaît.

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Je dirais plutôt que le contrôle indiqué à une telle fin est une listbox multiselect liée à la plage de données.
    Il suffirait ainsi de sélectionner les élèves présents puis de valider en assortissant la validation de la saisie d'un "1" dans la colonne Etat de la plage liée.
    Intéresse-toi donc à la propriété Rowsource d'une listbox.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut
    Citation Envoyé par unparia Voir le message
    Bonjour

    Je dirais plutôt que le contrôle indiqué à une telle fin est une listbox multiselect liée à la plage de données.
    Il suffirait ainsi de sélectionner les élèves présents puis de valider en assortissant la validation de la saisie d'un "1" dans la colonne Etat de la plage liée.
    Intéresse-toi donc à la propriété Rowsource d'une listbox.
    Le problème c'est que ma rowsource n'est pas fixe. Et ma liste ne se trouve toujours pas sur la même feuille. Je m'explique avec un exemple: L'utilisateur (un prof) va choisir dans un userform la date, le semestre, le cours, et le groupe d'élèves à qui il va donner cours. Ensuite dès qu'il a fini, il clique sur "Prendre les présence", la macro va aller chercher la liste du groupeA par exemple et va l'envoyer à la suite de la liste de la feuille du cours Comptabilité. Mais je ne sais pas comment faire en sorte d'avoir un "tracer" pour savoir dans quelle feuille la nouvelle liste a été envoyer et combien de lignes ont été rajoutées pour qu'ensuite ma listbox du second userform puisse avoir comme ressource celle-ci.

    Merci pour votre aide.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Le problème c'est que ma rowsource n'est pas fixe
    La propriété Rowsource est une chaîne de caractères accessible en lecture et écriture.
    Elle peut donc parfaitement être définie dynamiquement.
    Voici deux exemples de syntaxe (parmi d'autres possibles) --->>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.RowSource = "Feuil2!B1:C3"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim plage As Range, feuille As Worksheet
    Set feuille = Worksheets("Feuil2")
    Set plage = feuille.Range("B1:C3")
    ComboBox1.RowSource = feuille.Name & "!" & plage.Address(False, False)
    Analyse, comprends et construis ta chaîne en fonction de ce que tu as.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2019
    Messages : 4
    Par défaut
    Finalement j'ai décidé de changer mon approche et j'ai donc choisi de créer un tableau temporaire dans une feuille qui sera masquée, comme ça je sais dans quelle feuille il se trouve. Donc ma listbox aura comme rowsource la plage de donnée de ma feuille tmp et à la fin de la prise des présences, la liste sera effacée

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

Discussions similaires

  1. Modifier une textbox dont son x:Name dépend d'une variable
    Par krizentherm dans le forum Windows Phone
    Réponses: 9
    Dernier message: 17/09/2013, 14h34
  2. Une textbox vide à l'ouverture d'un état
    Par zangor dans le forum IHM
    Réponses: 3
    Dernier message: 05/10/2010, 00h03
  3. donner une icone a son exe
    Par elmcherqui dans le forum Qt
    Réponses: 3
    Dernier message: 06/08/2009, 21h41
  4. Initialiser une fiche avant son ouverture
    Par hiboudin dans le forum Langage
    Réponses: 4
    Dernier message: 12/12/2008, 23h27
  5. placer le curseur dans une textbox défini à l'ouverture d'un userform
    Par jffaber dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/08/2008, 17h38

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