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 :

Zone de liste VBA [Débutant(e)]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 21
    Par défaut Zone de liste VBA
    Bonjour,

    mise en contexte : Je possède une interface utilisateur (Onglet "données Générales"), une fois tout les champs renseigné l'utilisateur valide, et les données sont renseigné sur la première ligne d'un onglet "data"(la mise en page sera toujours la même par exemple le Nom sera toujours en colonne A). Si il revalide une saisie ça sera la deuxième ligne etc.
    J'aimerai savoir si il est possible de faire la communication inverse c'est à dire de créer une zone de liste dans l'interface utilisateur qui lui permettrait d'accéder à ses saisies précédentes.

    Et si oui, auriez vous des aides, car j'ai essayé, j'arrive bien à selectionner une plage de donnée, mais pour ce qui est de communiquer à partir de la, quand je fais affecter une macro on me propose de suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Zonedeliste1_changement()
     
    End Sub
    je préférerais en sois clic, et après je ne sais pas du tout comment communiquer avec... J'aurais bien une idée, mais j'ai peur de dire une bêtise.

    En tout cas merci beaucoup pour toute l'aide apportée ces dernières semaine

    Cordialement,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ton interface utilisateur est un UserForm présent dans ton onglet "données Générales" ? Ou est-ce tout simple des cellules remplies dans ton onglet "données Générales" ?

    Il serait aussi intéressant de voir le code que tu as actuellement (pour que l'on comprenne mieux le fonctionnement).

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 21
    Par défaut
    Bonjour Oudouner,

    Ce sont des cellules remplies.

    Pour remplir en annexe j'utilise le code suivant :

    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
    Sub Validation_Cliquer()
     
     
        Dim FL1 As Worksheet ', Cell As Range
        Dim DerLig As Long, Magasin As String, LigEcriture As Long
     
     
        Magasin = ThisWorkbook.Worksheets("Données Générales").Range("O6").Value
     
        Set FL1 = Worksheets("Data" & Magasin)
     
        DerLig = Split(FL1.UsedRange.Address, "$")(4)
        'permet d'accéder à la dernière ligne avec des données de l'onglet Data
        'On va remplir l'onglet Data avec les données Une ligne pour Une validation de donnée
     
        'Pour pouvoir écrire dans la première ligne vide :
         LigEcriture = DerLig + 1
     
        'rentre le type de contrôle en DATA
        ThisWorkbook.Worksheets("Data" & Magasin).Cells(LigEcriture, 1).Value = ThisWorkbook.Worksheets("Données Générales").Range("D6").Value
     
        'rentre l'aggréeur en DATA
        ThisWorkbook.Worksheets("Data" & Magasin).Cells(LigEcriture, 2).Value = ThisWorkbook.Worksheets("Données Générales").Range("F6").Value
     
    'ainsi de suite avec une dizaine de cellules...
    End Sub
    En gros l'utilisateur sélectionne le Magasin, à partir de là il remplira ses cellules (je sais c'est rébarbatif de pas avoir utilisé de boucle, mais c'est dans un soucis de maintenance par des gens qui débutent (encore plus que moi) j'ai préféré faire de la sorte et beaucoup commenter.) Ensuite l'utilisateur clic sur un bouton "validation" et ces données sont envoyé en annexe dans l'onglet "DataMagasin1" ou "DataMagasin2" en fonction du magasin choisit.

    Ce que j'aimerai donc faire, c'est créer une zone de liste qui permet de récupérer les données rentrée par le passé par l'utilisateur (par exemple pour corriger une faute de frappe),
    C'est à dire :
    - l'utilisateur saisie ses premières données, valide
    - il saisie ses deuxièmes données, puis revalide etc
    -à un moment il se dit "tient j'avais fais quoi là déjà ?" et bien il faudrait qu'il y'ai une zone de liste (je me débrouillerai pour le nom des items) ou il puisse sélectionner sa deuxième saisie validée par exemple et que du coup cette dernière renseigne en retour les cellule de son interface avec les données qu'il avait saisie à l'époque.


    En espérant avoir était clair, n'hésitez pas à me poser des questions.

    Cordialement

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Voici mon idée, il faudrait que tu insères un ID à tes lignes de données (dans tes feuilles Data). A partir de cette ID, tu pourrais faire une fonction recherche qui remplirai tes cellules de ta feuille "Données générales" avec les données déjà enregistré.

    Pour la mise à jour de la ligne on en parlera après si tu as déjà compris mon idée. ^^

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 21
    Par défaut
    Bonjour,

    En gros il faudrait que j'ajoute une colonne qui prend le numéro de la ligne, et qui ferait office "d'id" pour la lecture après ?

    Si c'est bien a je suis ouvert à tes idées !

    Après, mes données actuellement sont rentrées dans les colonnes en annexe mais cela n'est pas sous forme de tableau, veux tu que je fasse cette modification en plus de l'ajout de la colonne ID ?

    Cordialement,

  6. #6
    Invité
    Invité(e)
    Par défaut
    C'est exactement sa, j'ai réfléchi et je pense qu'il faudrait que l'ID soit constitué de cette manière :

    numéro de ligne + Magasin (pour pouvoir faire le recherche dans la bonne feuille Data).

    Il serait plus simple pour toi que soit sous forme de tableau, même pour la lisibilité, à toi de voir.

    Je te montre ce que j'ai fait pour la recherche dans quelque instant.

Discussions similaires

  1. Zone de liste VBA
    Par neoboy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/07/2014, 20h01
  2. [AC-2007] Zone de liste VBA et Variable
    Par fabrice57100 dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/09/2012, 03h42
  3. Remplir colonne zone de liste vba
    Par KpRR_ dans le forum IHM
    Réponses: 4
    Dernier message: 22/12/2010, 12h09
  4. Réponses: 4
    Dernier message: 07/07/2006, 09h00
  5. [VBA-A]zone de liste
    Par gniark dans le forum VBA Access
    Réponses: 11
    Dernier message: 24/04/2006, 13h05

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