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

VBA Access Discussion :

[VBA]Transfert d'une zone de liste à une autre


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut [VBA]Transfert d'une zone de liste à une autre
    Bonjour,

    J'ai deux zones de liste basées sur des requêtes. L'une (Liste1) récupére simplement le nom des activités situé dans une table, donc c'est juste un SELECT nom from table;
    L'autre (Liste2) affiche les activités de l'enregistrement x, y, z ... en cours.

    Je voudrais donc avec un bouton, pouvoir ajouter des activités de la Liste1 vers la Liste2, pour que mon enregistrement ait de nouvelles activités, ce qui reviendrait en fait à faire des insertions de données dans la table de mon enregistrement.

    Petit problème, il me semble que ceci est faisable seulement si les listes sont basés sur des listes de valeur, et non des tables/requêtes. En tout cas, j'ai essayé avec ceci et ça ne marche pas (au moment où j'ai testé ce code j'avais deux valeurs à transférer d'une liste à l'autre, mais peu importe que ce soit 1 ou 2 valeurs maintenant) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim varItem As Variant
    Dim ListItem As New Collection
     
    For Each varItem In Liste1.ItemsSelected
        Liste2.AddItem Liste1.Column(0, varItem) + ";" + Liste1.Column(1, varItem)
        ListItem.Add varItem
    Next varItem
    Ducoup je trouve aucun code sur le bouton pour pouvoir faire ceci.

    Merci de votre aide

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

    Va consulter cette source de Tofalu ici en bas de page, tu peux aussi la télécharger.

    Je pense qu'elle pourra t'aider

    Starec

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Ah bah nikel merci, pour ceux que ça interesse, je post ce que j'ai écris :

    Liste7 : Zone de liste de destination
    Liste13 : Zone de liste du début

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim i As Integer
    Dim Db As DAO.Database
    Set Db = CurrentDb
     
    With Liste13
    For i = 0 To .ListCount - 1
      If .Selected(i) Then
        Db.Execute "INSERT INTO tbl_unite_travail (num_ut, num_entite) VALUES (" & .Column(0, i) & "," & Forms!frm_entite!frm_entite_sous.Form!num_entite & ")"
      End If
     Next i
     .Requery
    End With
    Liste7.Requery
    Faudrait quand même faire quelques test sinon on peut mettre autant de fois que l'on veut la même activité.

    Sinon question subsidiaire, est ce que sous Access c'est envisageable de faire une sorte de "glisser", pour transferer la valeur d'une zone de liste à l'autre, sans avoir à clicker sur un bouton ?

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

Discussions similaires

  1. [Toutes versions] NB.SI.ENS en VBA ou comment récupérer le contenu d'une zone de liste
    Par chris_ij32 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/09/2012, 20h20
  2. Réponses: 3
    Dernier message: 07/04/2011, 14h38
  3. Réponses: 9
    Dernier message: 04/04/2007, 12h01
  4. Réponses: 13
    Dernier message: 29/03/2006, 21h00
  5. Passer des infos d'une zone de liste à une autre
    Par Rinecka dans le forum Access
    Réponses: 1
    Dernier message: 09/01/2006, 11h59

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