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 :

Macro pour Import Compta incomplète


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
    Développeur Web
    Inscrit en
    Mai 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2022
    Messages : 8
    Par défaut Macro pour Import Compta incomplète
    Bonjour Le forum

    Comment allez vous ?

    Je vous écris car j'ai un petit problème pour adapter une macro que j'ai effectué sachant que ca fait 2 semaine que j'ai commencé LA VBA je rencontre une difficultés

    Mon travail consiste a exporter des données comptable pour que mes collègues puissent les intégrer facilement mais je n'arrive pas plusieurs choses

    - J'arrive a stocké des données mais je ne sais pas les afficher

    - Je ne sais pas comment faire pour afficher sur plusieurs lignes les écritures comptable

    -Je n'arrive pas a calculer la TVA en VBA puis l'afficher

    S'il vous plait pourriez vous m'aider et m'expliqué votre façon de faire pour progresser rapidement

    voici mon début de code

    vous trouverez dans mon fichier excel les references pour les numero de compte

    cordialement Merci !!!!!!!!!!!!!!!!!!!!!!!!!!!
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Sub ExportCaisse()
         Dim F1 As Worksheet, F2 As Worksheet
         Dim Tablo, i As Long
         Dim x2 As Integer
         Dim x1 As Integer
         Dim x05 As Integer
     
         Set F1 = Sheets("MARS")
         Set F2 = Sheets("Compta")
     
         THdr = F1.Range("A2", "Z" & F1.Range("A" & Rows.Count).End(xlUp).Row).Value2
         Set dict = CreateObject("scripting.dictionary")
         dict.Add dict.Count, Array("Date", "code journal", "compte", "débit", "crédit", "Libellé pièce")     'les titles
     
            For i = 1 To UBound(THdr)     'IMPORTANT, CHAQUE LIGNE DOIT AJOUTER LE MÊME NOMBRE D'ELEMENTS DANS "ITEMS" = 8 !!!
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "44572000", "", THdr(i, 4), "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "7072000", "", THdr(i, 4 \ 1.2), "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "44571000", "", THdr(i, 6), "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "7071000", "", THdr(i, 6 \ 1.1), "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "44571550", "", THdr(i, 8), "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "7070550", "", THdr(i, 8) \ 1.055, "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "5801000", THdr(i, 14), "", "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "5802000", THdr(i, 16), "", "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "5803000", THdr(i, 15), "", "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "411CREDIT", THdr(i, 17), "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "411AVOIR", THdr(i, 18), THdr(i, 19), "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "411AVOIR", , THdr(i, 19), THdr(i, 18), "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "467CADHOC", THdr(i, 22), "", "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "467CADEOS", THdr(i, 22), "", "CENTRALISATION CAISSE")
                dict.Add dict.Count, Array(THdr(i, 1), ("CS"), "467BONACHAT", THdr(i, 24), "", "CENTRALISATION CAISSE")
         Next i
       arr = Application.Index(dict.items, 0, 0)
         F2.Cells.ClearContents
         With F2.Range("A1").Resize(UBound(arr), UBound(arr, 2))
              .Value = arr
              .EntireColumn.AutoFit
              .Sort .Range("G1"), xlAscending, Header:=xlYes
         End With
     
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Bonjour,

    J'avoue ne pas très bien comprendre ce que tu veux faire et quel est le format de tes données au départ.

    Dans ton code tu fais référence à des feuilles "MARS" et "Compta" qui n'existe pas dans le fichier joint. On ne connait donc pas le format de chacune d'elles.
    Dans ton fichier joint tu présentes 2 tableaux (le premier en lignes 1 à 3 et le second en lignes 7 à 37.
    Dans ton code tu fais référence à 8 items. Aucun des 2 tableaux fournis n'a ni 8 colonnes ni, même s'il y a plus de colonnes, que 8 colonnes complétées.

    De ce que je comprend toutefois tu pars d'une feuille "compta" contenant des lignes tel que présentées dans ton premier tableau et tu souhaites obtenir un journal tel que ton second tableau (1 onglet par mois). Le journal demande également des données que ton premier tableau ne donne pas (journal, libelle). Ton journal présente des lignes où le débit et crédit sont tout 2 à 0 voire vides. Ce n'est pas logique d'après mes souvenirs de compta. Enfin je ne retrouve pas de valeurs communes entre les 2 tableaux pour confirmer ma supposition de ta demande réelle.

    Purement technique tu peux utiliser les tableaux mémoires pour tes tableaux de données et tes n° de compte mais il n'est pas utile d'utiliser les dictionnaires.

  3. #3
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut

    En plus des informations demandées dans le message précédent, peux-tu préciser la version d'Excel que tu utilises.
    Si ta version te le permet, tu pourrais sans doute utiliser Power Query qui est fait pour manipuler des données contenue dans une base (tableau, fichier excel,....).

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #4
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Merci et au revoir ?

  5. #5
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    C'est un adepte du CrossPosting
    Citation Envoyé par Alex020181 Voir le message
    Merci et au revoir ?

Discussions similaires

  1. [XL-2003] VBA macro pour importer en automatique plusieurs fichiers dans un autre fichier
    Par pat.852 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/02/2013, 15h39
  2. macro pour importer userform
    Par papa_georges dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/10/2011, 15h41
  3. Créer macro pour importer fichier texte
    Par stpaul04 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/03/2011, 17h52
  4. [WD-2007] Macro pour importer Excel vers Word
    Par philippef dans le forum VBA Word
    Réponses: 0
    Dernier message: 24/11/2010, 23h44
  5. éélaboration d'une macro pour importation de donnée dans excel 2003
    Par wuging dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/09/2010, 08h33

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