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 :

Transfert formulaire vers excel


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 38
    Par défaut Transfert formulaire vers excel
    Bonjour à tous,

    Je suis toujours sur ma base de données en access 2007 et me revoilà face à un nouveau problème et surtout face à mes compétences limitées en vba .... aussi je viens vers vous afin de savoir si vous avez quelques bonnes idées ...

    J'ai besoin à partir d'un formulaire (en mode feuille de données) d'envoyer certaines infos dans des cellules d'un fichier excel ... En gros voilà les données de mon formulaire :

    Num | Montant | Bor | Mandat
    15 | 5 | a | 1m
    15 | 7 | a | 2m
    15 | 4 | a | 3m
    16 | 7 | b | 4m
    16 | 6 | b | 5m

    Voici ce que j'ai :

    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
     
    Dim appexcel As Excel.Application
    Dim wbexcel As Excel.Workbook
     
    Set appexcel = CreateObject("Excel.Application")
    appexcel.Visible = True
    Set wbexcel = appexcel.Workbooks.Open("C:\Documents and Settings\Administrateur\Bureau\Base projet\ETAT.xls")
     
    'appexcel.Sheets "Mand".Select
     
    appexcel.Cells(17, 9) = [Num]
    appexcel.Cells(17, 2) = [Montant]
    appexcel.Cells(17, 5) = [Bor]
    appexcel.Cells(17, 6) = [Mandat]
    appexcel.Cells(18, 1) = [AdrContact]

    Il fonctionne si je n'ai qu'un enregistrement dans mon formulaire par exemple 15 | 5 | a | 1m

    Seulement ce que j'aimerai c'est de mettre dans ma premiere feuille excel tous les enregistrements (les uns en dessous des autres) qui ont le même Num et si le Num suivant est different que l'on passe à la feuille 2 d'excel et que l'on copie les infos dans les bonnes cellules toujours les unes à la suite des autres ....

    Ben voilà .... je continue ma quête mais je suis ok si vous avez une p'tite idée.
    Merci.
    Tequila_pf


    Merci beaucoup et bon week end à vous.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,
    Seulement ce que j'aimerais c'est de mettre dans ma premiere feuille excel tous les enregistrements (les uns en dessous des autres) qui ont le même Num et si le Num suivant est different que l'on passe à la feuille 2 d'excel et que l'on copie les infos dans les bonnes cellules toujours les unes à la suite des autres ....
    Une p'tite idée
    Au lieu de raisonner sur ton formulaire, te baser plutôt sur la table.
    Tu la lis enregistrement par enregistrement (dans l’ordre des Num)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim rec As DAO.Recordset
    Set rec = CurrentDb.OpenRecordset("Ma table")
    Do Until rec.EOF
    .......
    rec.MoveNext
    Loop
    Tu contrôles le changement de Num. A la rupture, tu crées une nouvelle feuille.
    Pour chaque enregistrement ayant le même NUM, tu alimentes tes cellules et décalant d’une ligne à chaque enregistrement.

  3. #3
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 38
    Par défaut
    Bonjour et merci pour ta réponse,

    En faite, mes données sont issues d'une requête (avec un critere où une date doit etre = a la date du jour) que j'affiche dans un formulaire car l'utilisateur avant de faire l'envoi sur excel doit renseigner un champ ... De plus Num est un numéro que l'utilisateur affecte en fonction d'une "reflexion humaine" et n'est donc pas un champ automatisé.

    Je vais essayer de m'appuyer sur ton idée mais je ne nage un peu en code ....

    Tu contrôles le changement de Num. A la rupture, tu crées une nouvelle feuille.
    Pour chaque enregistrement ayant le même NUM, tu alimentes tes cellules et décalant d’une ligne à chaque enregistrement
    Si tu as un peu de temps, aurais tu la gentillesse de développer un peu car je comprend ton explication mais je suis incapable d'ecrire le code.

    Merci beaucoup.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    je veux bien essayer mais cela risque de prendre du temps et ici, il est déjà 21:30.
    Je reprends contact à mon réveil si d'autres membres n'ont pas solutionné
    Bonne journée à toi.

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Un premier jet.
    Vois si ceci peut déjà t’aider.
    NB les feuilles Excel s’appellent 1,2 ….
    Tu trouves un exemple ici
    http://www.wikeo.be/files/4014/exportexcel.rar
    Je décroche quelques heures.
    A+

  6. #6
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 38
    Par défaut
    Bonjour,

    Merci pour tes explications je suis très contente car cela me permet d'apprendre ...
    J'ai regardé ton fichier et moi j'ai un message d'erreur de compilation "Projet ou bibliothèque introuvable" et il s'arrete sur ta ligne

    A mon avis je dois cocher un truc dans les preferences vba ... je sais pas trop. Est-ce que c'est parce que je suis sur Access2007 ?

    Bon dimanche à toi et encore un grand merci.

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

Discussions similaires

  1. [FORMULAIRE] Vers Excel puis Vers Email
    Par Fanows dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/02/2009, 11h01
  2. VBA Excel : Transfert listbox vers Excel
    Par Secco dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 27/04/2008, 23h33
  3. Envoi donnée d'un formulaire vers excel , et inverse
    Par mascletjp dans le forum Modélisation
    Réponses: 7
    Dernier message: 07/08/2007, 08h54
  4. Transfert requette ver excel en VB
    Par mbokmahop dans le forum VBA Access
    Réponses: 8
    Dernier message: 07/06/2007, 14h51
  5. Exportation de données d'un formulaire vers Excel
    Par bzhmorgane dans le forum IHM
    Réponses: 2
    Dernier message: 05/06/2007, 10h36

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