Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1671 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Programmation VBA, débutant en grosse difficulté !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programmation VBA, débutant en grosse difficulté !

n°842257
ARPET
Posté le 04-09-2004 à 18:40:36  profilanswer
 

Bonjour,
dans access, je suis en train de me construire une base de données classique contenant pour simplifier les 2 tables : fournisseurs et  articles. J'ai créé un formulaire commandes répondant aux besoins suivants : je sélectionne un fournisseur, un sous formulaire me donne la liste des articles vendus par ce fournisseur, et je voudrais par sélection envoyer un ou plusieurs de ces articles dans une zone de liste destination (qui correspondrait ainsi à des articles commandés).  
N'y connaissant rien en VBA, j'ai passé des heures sur l'aide Access et trouvé ceci :
"Exemple de propriété Selected
Dans l'exemple suivant, la propriété Selected est utilisée pour déplacer les éléments sélectionnés de la zone de liste lstSource vers la zone de liste lstDestination. Le paramètre Liste valeurs est attribué à la propriété OrigineSource (RowSourceType) de la zone de liste lstDestination et la propriété Contenu (RowSource) du contrôle est construite à partir de tous les éléments sélectionnés du contrôle lstSource. Le paramètre Étendue est attribué à la propriété SélectionMultiple (MultiSelect) de la zone de liste lstSource. La fonction CopieSelected( ) est appelée à partir du bouton de commande cmdCopieObjet.
Sub cmdCopieObjet_Click()
    CopieSelected Me
End Sub
 
Function CopieSelected(frm As Form) As Integer
    Dim ctlSource As Control
    Dim ctlDest As Control
    Dim chObjets As String
    Dim entLigneEnCours As Integer
    Set ctlSource = frm!lstSource
    Set ctlDest = frm!lstDestination
    For entLigneEnCours = 0 To ctlSource.Listcount - 1
        If ctlSource.Selected(entLigneEnCours) Then
            chObjets = chObjets & ctlSource.Column(0, _
                 entLigneEnCours) & ";"
        End If
    Next entLigneEnCours
    ' Initialise la propriété Contenu du contrôle de destination.
    ctlDest.RowSource = ""
    ctlDest.RowSource = chObjets
End Function
 Cela semble bien répondre à ma question mais je ne sais pas où placer cette commande et comment la faire fonctionner. Pouvez-vous m'aider dans cette voie ou me suggérer d'autres solutions. En vous remerciant par avance et évidemment prêt à donner des éclaircissements si je n'ai pas été très clair.

mood
Publicité
Posté le 04-09-2004 à 18:40:36  profilanswer
 

n°843151
pumpkin031​2
Posté le 06-09-2004 à 11:20:48  profilanswer
 

Tu as déjà tous les éléments en main. Qu'est-ce qui ne va pas ?
Si ton bouton s'appelle bien cmdCopieObjet et que dans ses propriétés, sur click, est bien placée la [Procédure événementielle] du code que tu as cité, tout devrait marcher.

n°847514
ouneufe
Posté le 11-09-2004 à 09:21:12  profilanswer
 

1 - tu crées un bouton "Envoyé" auquel tu affectes une procédure événementielle sur "click".
 
2 - Colle le code de ta fonction dans la procédure click (sans  "function" et "end sub".
 
3 - remplace frm!stSource par le nom de ton objet source et fmr!stDestination par ton objet destination


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Programmation VBA, débutant en grosse difficulté !

 

Sujets relatifs
Programmation assembleur 80x86Problème Word VBA (saveas)
[VBA - Excel] Requette pour inserer des valeur dans une table{- Debutant -} Comment ça marche la gestion de contenu de site?
regex souci de débutant.débutant VBA
VBA & AUTOCAD ?[debutant] open, write et delete???
[VBA] --> Problème rapide ( erreur de syntaxe ) 
Plus de sujets relatifs à : Programmation VBA, débutant en grosse difficulté !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR