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 :

automatisation Rapprochement bancaire


Sujet :

Macros et VBA Excel

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

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 568
    Points : 1 005
    Points
    1 005
    Par défaut
    Citation Envoyé par Novice excel vba Voir le message
    Bonjour,

    Juste une chose, il est possible aussi de remplacer la date comptable par la date GL.

    Cordialement,
    Bien sûr.
    Voilà.
    Fichiers attachés Fichiers attachés
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  2. #22
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 946
    Points
    55 946
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Novice excel vba Voir le message
    [...]Mais il s'avère que dans la direction ou je travail, ils veulent que du vba.[...]
    Jamais très bien compris pourquoi on impose une obligation de moyens plutôt que de résultat. Lorsqu'un comptable veut isoler les mouvements non lettrés, l'important me semble-t-il est qu'il obtienne les mouvements non lettrés et, a priori, de la manière la plus simple possible pour le non-informaticien qu'il est. C'est justement pour cela que Power Query a vu le jour: Libérer les non-informaticiens que sont les utilisateurs d'Excel de la charge de pondre du code... Vu tes demandes d'ajustement, tu n'as pas l'air de comprendre grand chose au code qui t'est donné, sinon tu pourrais l'ajuster toi-même à tes besoins réels. Ca veut dire que tu vas être dépendant de solutions codées que tu maîtrises mal au lieu de viser l'autonomie. Mais bon, soit.

    Je me place dans l'optique que ce n'est pas un "one shot" car j'ai démontré que dans ce cas, Excel est nativement outillé pour réaliser manuellement le travail en 2 minutes. Dans le cas où l'on doit répéter l'opération avec des extractions régulières en provenance d'autres sources, alors je préconise de réfléchir "en Excel" de manière à être le moins dépendant possible d'un code VBA incompréhensible pour le non-initié et de:
    1. mettre en place un classeur de travail avec les tableaux qui vont bien, déjà préparés et formulés. J'ai pour principe de ne jamais travailler sur l'extraction mais d'importer les données dans un classeur. Ca évite notamment de devoir transférer ton code de fichier d'extraction en fichier d'extraction. Les tableaux structurés créés dans ton fichier de travail vont grandement aider l'écriture du code;
    2. Y importer les données par vba, en considérant que l'extraction a toujours la même forme (début à la même ligne et même colonne, soit B18), et feuille nommée toujours de la même façon (ou toujours unique). Ces prérequis sont à adapter à ta situation;
    3. Programmer "en VBA pour Excel", c'est-à-dire faire en VBA ce qu'on aurait fait en Excel (copie de la colonne Description2, suppression des doublons, formule de solde non nul);
    4. Ecrire un code qui "colle" à ce qui serait réalisé en Excel de manière à être autonome par la suite pour les ajustements et améliorations.



    En envisageant la chose de cette façon, j'ai découpé le code VBA selon la finalité de chaque partie (préparation du classeur de travail, récupération des données, traitement des mouvements) de manière à coller aux méthodes Excel et à isoler chaque partie pour pouvoir la tester isolément du reste. C'est la procédure "Process" qui est lancée pour réaliser le traitement:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Option Explicit
     
    Sub Process()
      Application.ScreenUpdating = False
     
      PrepareWorkbook
      GetData Range("t_Mouvements")
      PrepareData
     
      Application.ScreenUpdating = True
    End Sub
     
    Function PrepareWorkbook()
      Dim tMouvements As ListObject
      Dim tDescriptions As ListObject
     
      Set tMouvements = Range("t_Mouvements").ListObject
      tMouvements.AutoFilter.ShowAllData
      If Not tMouvements.DataBodyRange Is Nothing Then tMouvements.DataBodyRange.Delete
      tMouvements.ListRows.Add
     
      Set tDescriptions = Range("t_Descriptions2").ListObject
      tDescriptions.AutoFilter.ShowAllData
      If Not tDescriptions.DataBodyRange Is Nothing Then tDescriptions.DataBodyRange.Delete
      tDescriptions.ListRows.Add
     
      Set tMouvements = Nothing
      Set tDescriptions = Nothing
    End Function
     
    Function GetData(Target As Range)
      Dim wbSource As Workbook
      Dim SourceName As String
      Dim shSource As Worksheet
      Dim Source As Range
     
      With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count = 1 Then SourceName = .SelectedItems(1)
      End With
      Set wbSource = Workbooks.Open(SourceName)
      Application.ScreenUpdating = False
      Set shSource = wbSource.Worksheets("Interrogation des écritures")
      Set Source = shSource.Range("b19:o" & shSource.Range("b1048576").End(xlUp).Row)
      Target.Resize(Source.Rows.Count, Source.Columns.Count).Value = Source.Value
      wbSource.Close False
      Range("t_Mouvements[Non soldé]").Formula = "=(ABS(INDEX(t_Descriptions2[Solde],MATCH([@[Description 2]],t_Descriptions2[Description 2],0)))>0.05)*1"
    End Function
     
    Function PrepareData()
      Dim tMouvements As ListObject
      Dim tDescriptions As ListObject
     
      Set tMouvements = Range("t_Mouvements").ListObject
      Set tDescriptions = Range("t_Descriptions2").ListObject
      tDescriptions.ListColumns("Description 2").DataBodyRange.Resize(tMouvements.ListRows.Count).Value = _
        tMouvements.ListColumns("Description 2").DataBodyRange.Value
      tDescriptions.DataBodyRange.RemoveDuplicates 1, xlGuess
      Application.Calculate
      tMouvements.Range.AutoFilter Field:=13, Criteria1:="1"
     
      Set tMouvements = Nothing
      Set tDescriptions = Nothing
    End Function

    Normalement, on devrait variabiliser certaines choses, mais ça te donne l'idée. On pourrait bien entendu isoler les mouvements lettrés, non lettrés, etc selon la demande. Ici, comme tu récupères les mouvements complets, tu as toutes les infos disponibles en gardant une possibilité de traitement Excel (pas de cellules fusionnées, les données "collent" à celles de départ, ...).
    Fichiers attachés Fichiers attachés
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #23
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Bien sûr.
    Voilà.
    Bonjour,

    Je te remercie, je test sur d'autres comptes.

    Cordialement,

  4. #24
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par ARTURO83 Voir le message
    Bonjour,

    Avec les dates GL
    Pièce jointe 601537


    Cdlt
    Bonjour,

    Je te remercie, je test sur d'autres comptes.

    Cordialement,

  5. #25
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Jamais très bien compris pourquoi on impose une obligation de moyens plutôt que de résultat. Lorsqu'un comptable veut isoler les mouvements non lettrés, l'important me semble-t-il est qu'il obtienne les mouvements non lettrés et, a priori, de la manière la plus simple possible pour le non-informaticien qu'il est. C'est justement pour cela que Power Query a vu le jour: Libérer les non-informaticiens que sont les utilisateurs d'Excel de la charge de pondre du code... Vu tes demandes d'ajustement, tu n'as pas l'air de comprendre grand chose au code qui t'est donné, sinon tu pourrais l'ajuster toi-même à tes besoins réels. Ca veut dire que tu vas être dépendant de solutions codées que tu maîtrises mal au lieu de viser l'autonomie. Mais bon, soit.

    Je me place dans l'optique que ce n'est pas un "one shot" car j'ai démontré que dans ce cas, Excel est nativement outillé pour réaliser manuellement le travail en 2 minutes. Dans le cas où l'on doit répéter l'opération avec des extractions régulières en provenance d'autres sources, alors je préconise de réfléchir "en Excel" de manière à être le moins dépendant possible d'un code VBA incompréhensible pour le non-initié et de:
    1. mettre en place un classeur de travail avec les tableaux qui vont bien, déjà préparés et formulés. J'ai pour principe de ne jamais travailler sur l'extraction mais d'importer les données dans un classeur. Ca évite notamment de devoir transférer ton code de fichier d'extraction en fichier d'extraction. Les tableaux structurés créés dans ton fichier de travail vont grandement aider l'écriture du code;
    2. Y importer les données par vba, en considérant que l'extraction a toujours la même forme (début à la même ligne et même colonne, soit B18), et feuille nommée toujours de la même façon (ou toujours unique). Ces prérequis sont à adapter à ta situation;
    3. Programmer "en VBA pour Excel", c'est-à-dire faire en VBA ce qu'on aurait fait en Excel (copie de la colonne Description2, suppression des doublons, formule de solde non nul);
    4. Ecrire un code qui "colle" à ce qui serait réalisé en Excel de manière à être autonome par la suite pour les ajustements et améliorations.



    En envisageant la chose de cette façon, j'ai découpé le code VBA selon la finalité de chaque partie (préparation du classeur de travail, récupération des données, traitement des mouvements) de manière à coller aux méthodes Excel et à isoler chaque partie pour pouvoir la tester isolément du reste. C'est la procédure "Process" qui est lancée pour réaliser le traitement:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Option Explicit
     
    Sub Process()
      Application.ScreenUpdating = False
     
      PrepareWorkbook
      GetData Range("t_Mouvements")
      PrepareData
     
      Application.ScreenUpdating = True
    End Sub
     
    Function PrepareWorkbook()
      Dim tMouvements As ListObject
      Dim tDescriptions As ListObject
     
      Set tMouvements = Range("t_Mouvements").ListObject
      tMouvements.AutoFilter.ShowAllData
      If Not tMouvements.DataBodyRange Is Nothing Then tMouvements.DataBodyRange.Delete
      tMouvements.ListRows.Add
     
      Set tDescriptions = Range("t_Descriptions2").ListObject
      tDescriptions.AutoFilter.ShowAllData
      If Not tDescriptions.DataBodyRange Is Nothing Then tDescriptions.DataBodyRange.Delete
      tDescriptions.ListRows.Add
     
      Set tMouvements = Nothing
      Set tDescriptions = Nothing
    End Function
     
    Function GetData(Target As Range)
      Dim wbSource As Workbook
      Dim SourceName As String
      Dim shSource As Worksheet
      Dim Source As Range
     
      With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count = 1 Then SourceName = .SelectedItems(1)
      End With
      Set wbSource = Workbooks.Open(SourceName)
      Application.ScreenUpdating = False
      Set shSource = wbSource.Worksheets("Interrogation des écritures")
      Set Source = shSource.Range("b19:o" & shSource.Range("b1048576").End(xlUp).Row)
      Target.Resize(Source.Rows.Count, Source.Columns.Count).Value = Source.Value
      wbSource.Close False
      Range("t_Mouvements[Non soldé]").Formula = "=(ABS(INDEX(t_Descriptions2[Solde],MATCH([@[Description 2]],t_Descriptions2[Description 2],0)))>0.05)*1"
    End Function
     
    Function PrepareData()
      Dim tMouvements As ListObject
      Dim tDescriptions As ListObject
     
      Set tMouvements = Range("t_Mouvements").ListObject
      Set tDescriptions = Range("t_Descriptions2").ListObject
      tDescriptions.ListColumns("Description 2").DataBodyRange.Resize(tMouvements.ListRows.Count).Value = _
        tMouvements.ListColumns("Description 2").DataBodyRange.Value
      tDescriptions.DataBodyRange.RemoveDuplicates 1, xlGuess
      Application.Calculate
      tMouvements.Range.AutoFilter Field:=13, Criteria1:="1"
     
      Set tMouvements = Nothing
      Set tDescriptions = Nothing
    End Function

    Normalement, on devrait variabiliser certaines choses, mais ça te donne l'idée. On pourrait bien entendu isoler les mouvements lettrés, non lettrés, etc selon la demande. Ici, comme tu récupères les mouvements complets, tu as toutes les infos disponibles en gardant une possibilité de traitement Excel (pas de cellules fusionnées, les données "collent" à celles de départ, ...).
    Bonjour,

    Je suis bien d'accord avec toi! vu que je maitrise pas la vba, il est mieux de voir d'autres alternatives comme tu m'as proposé.

    De toute façon, je vais en discuter avec les personnes concernés et proposer ton idée sur Power Query.

    Je te remercie d'avoir donner ton point de vu et surtout de m'avoir montrer une autre méthode qui s'avère très utile.

    Je te tiens au courant pour la suite.

  6. #26
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Bien sûr.
    Voilà.
    Bonjour,

    j'ai testé avec un nouveau compte est je constate 2 anomalies :

    - la 1er il ne rapproche pas les écritures avec le même montant, tu pourras t'en apercevoir sur le fichier que j'ai joint.

    -2éme les écritures en suspens sont inversés, les débits sont en crédit et vis versa.

    Cordialement,
    Fichiers attachés Fichiers attachés

  7. #27
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 946
    Points
    55 946
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Novice excel vba Voir le message
    Bonjour,

    j'ai testé avec un nouveau compte est je constate 2 anomalies :

    - la 1er il ne rapproche pas les écritures avec le même montant, tu pourras t'en apercevoir sur le fichier que j'ai joint.

    -2éme les écritures en suspens sont inversés, les débits sont en crédit et vis versa.

    Cordialement,

    On va encore tâtonner longtemps pour produire des lignes inutilisables avec les outils natifs d'Excel produites par du code VBA dans lequel une chatte ne retrouverait pas ses jeunes? Tout ça pour un truc qui est résolu en 2 minutes sans Power Query, sans VBA, juste avec trois manips et deux formules... Misère!
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 568
    Points : 1 005
    Points
    1 005
    Par défaut
    Citation Envoyé par Novice excel vba Voir le message
    Pour celui de Alex020181, la macro est bonne mais il me manque certain détail comme d'abord supprimer les valeurs à zéros et aussi indiquer les montants détaillés des écritures en suspens.
    Citation Envoyé par Novice excel vba Voir le message
    - la 1er il ne rapproche pas les écritures avec le même montant, tu pourras t'en apercevoir sur le fichier que j'ai joint.
    Heu tu dis qu'il ne rapproche pas les écritures avec le même montant ? C'est normal. Tu m'as demandé précédemment de supprimer les valeurs à 0. Si tu as le même montant (ou même cumul de montants) en D et C alors le solde est 0. Et comme tu voulais les supprimer dans un de tes posts précédents....

    Bon. J'ai donc remis les écritures soldées et inversé les D C.
    Fichiers attachés Fichiers attachés
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  9. #29
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Heu tu dis qu'il ne rapproche pas les écritures avec le même montant ? C'est normal. Tu m'as demandé précédemment de supprimer les valeurs à 0. Si tu as le même montant (ou même cumul de montants) en D et C alors le solde est 0. Et comme tu voulais les supprimer dans un de tes posts précédents....

    Bon. J'ai donc remis les écritures soldées et inversé les D C.
    En faite la dernière fois, j'avais demandé de supprimer les valeurs à 0 de la colonne B "Somme D/C", j'ai du mal m'exprimer sur la demande!

    Sinon le résultat est impeccable, un grand merci

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

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 568
    Points : 1 005
    Points
    1 005
    Par défaut
    Citation Envoyé par Novice excel vba Voir le message
    le résultat est impeccable, un grand merci
    Cool. Amuse toi bien alors
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  11. #31
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Cool. Amuse toi bien alors
    Merci, je te tiens au courant pour l'ensemble de mes contrôles

  12. #32
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Cool. Amuse toi bien alors
    Bonjour,

    j'ai lancé la macro sur plusieurs de mes comptes, il s'avère que cela fonctionne bien.

    J'ai comme même des suggestions pour améliorer le fichier :

    - Est-il possible de rajouter la description 1 "colonne J" pour les écritures non rapprochées.

    - Je constate que la colonne C et D les montants identiques ne se rapprochent pas, malgré que ce sont les mêmes montants, voir l'exemple sur la copie écran envoyé (les montants sont en rouge).

    - en terme de présentation comme la suggérer "Alex" pour ce qui est de l'affichage je ne trouve pas que fusionner les dates et les montants dans la même cellule soit le mieux. C'est mieux de séparer

    Je vous remercie de votre aide.

    Cordialement,
    Images attachées Images attachées  

  13. #33
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 946
    Points
    55 946
    Billets dans le blog
    131
    Par défaut
    Je t'ai proposé une solution qui reprend les lignes d'origine non fusionnées justement parce que je trouve qu'il est plus intéressant d'avoir les lignes complètes sans fusionner de données. Tu n'en a pas tenu compte et nous sommes maintenant à une trentaine de messages pour un sujet qui en mérite quatre ou cinq à tout casser.

    C'est un peu désespérant
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  14. #34
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Je t'ai proposé une solution qui reprend les lignes d'origine non fusionnées justement parce que je trouve qu'il est plus intéressant d'avoir les lignes complètes sans fusionner de données. Tu n'en a pas tenu compte et nous sommes maintenant à une trentaine de messages pour un sujet qui en mérite quatre ou cinq à tout casser.

    C'est un peu désespérant
    Bonjour,

    J'ai bien pris en compte ton fichier que je trouve très intéressant pour mes contrôles que je suis entrain de faire pour mon usage personnel. Mon souci, c'est ma direction qui veut juste mettre en place de la macro ( que je trouve aussi inutile de l'appliquer pour ce genre d'activité).

    Je suis désolé de polluer le forum par mes messages...

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

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 568
    Points : 1 005
    Points
    1 005
    Par défaut
    Bojour

    Pour faire court;

    Citation Envoyé par Novice excel vba Voir le message
    Bonjour,
    - Est-il possible de rajouter la description 1 "colonne J" pour les écritures non rapprochées.
    Cordialement,
    OUI



    Citation Envoyé par Novice excel vba Voir le message
    Bonjour,
    - Je constate que la colonne C et D les montants identiques ne se rapprochent pas, malgré que ce sont les mêmes montants, voir l'exemple sur la copie écran envoyé (les montants sont en rouge).
    Cordialement,
    Toujours le même problème; dans tes posts précédents un coup tu demandes à ce que les soldes 0 soient visibles un coup tu demandes à les enlever et à les remettre ....


    Citation Envoyé par Novice excel vba Voir le message
    Bonjour,
    - en terme de présentation comme la suggérer "Alex" pour ce qui est de l'affichage je ne trouve pas que fusionner les dates et les montants dans la même cellule soit le mieux. C'est mieux de séparer
    Cordialement,
    D'accord.


    Maintenant moi aussi je commence à m'impatienter de clore ce sujet pour parler poliment.

    Alors voilà ce que je te propose.
    Donne nous un fichier exemple de ton extraction SAP et un fichier exemple d'un traitement manuel de cette extraction contenant tous les cas possibles (comptes soldés, soldes D>C, soldes C>D, mouvements à 0 sur des comptes soldés, mouvements à 0 sur des comptes non soldés, ...) et avec la présentation voulue. (pas besoin de traiter manuellement tous le fichier bien sûr. Prend juste un échantillon parlant)

    On partira de là et surtout on s'y tiendra.

    Je veux bien donner un coup de main et accepter un peu ensuite les ajustements de la demande mais à un moment faut se fixer.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  16. #36
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    Je comprends tout à fait, mes demandes sont trop nombreuses et on dirait je sais pas ce que je veux...

    Maintenant, avec tous les tests que j'ai effectués, je sais quel résultat que je souhaite. Prendre exemple sur le fichier que j'ai envoyé avec comme exemple la description "21153I".


    Le fichier contient le 1er onglet l'extraction sur "BO", le 2eme c'est ta Macro et le 3eme onglet c'est le résultat possible.

    Merci infiniment de vos contributions!

    Cordialement,
    Fichiers attachés Fichiers attachés

  17. #37
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 946
    Points
    55 946
    Billets dans le blog
    131
    Par défaut
    Bo*** de me***

    Tu aurais cela en 30 secondes avec POWER QUERY, pas une seconde de plus avec des formules et un filtre, en récupérant toutes les colonnes de ta source. Et ces solutions offrent l'avantage de proposer des données gérables par Excel avec les outils natifs d'Excel


    Tu aurais la maîtrise totale de la solution, au lieu d'avoir du code VBA qui fait tout et rien, mais juste pas ce que tu veux. Je ne comprendrai jamais pourquoi on veut réinventer la roue. Combien de fois par jour as-tu besoin de lettrer ces montants pour qu'il soit si impérieux d'automatiser la tâche?

    Ce n'est pas une question de polluer le forum. C'est la question d'être pragmatique ou de pondre n'importe quelle solution pour un résultat autre que demandé. Cette discussion est exemplative de la complication qu'on amène sur une question, simple au départ, en répondant à côté d'une question mal posée avec un code VBA alambiqué. En cela, elle mériterait 5 étoiles. Arrêtez de vous compliquer la vie et utiliser ce qu'Excel a à vous proposer avant d'inventer des solutions non demandées à coup de code vba et de cellules fusionnées à des questions mal posées.

    Ta question initiale consiste à isoler les mouvements non lettrés et c'est réglé de façon pragmatique en 30 secondes!!

    Quelle misère!
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 568
    Points : 1 005
    Points
    1 005
    Par défaut
    Donc si je regarde ton exemple partiel:
    - pour chaque clé (clé = concaténation de la colonne "Description 2" et "Date comptable" si le montant débit ou crédit <>0) il faut vérifier que la somme des mouvements en débit soit égale à la somme des mouvements en crédit
    - ne pas reporter les mouvements soldés de cette clé
    - reporter toutes les lignes de cette clé si le solde n'est pas 0

    Exact ?

    Attention; cela sous-entend que tu n'auras jamais plusieurs fois la même description 2 à la même date comptable ou alors il faut ajouter le montant à la clé mais dans ce cas tu ne pourras plus faire le rapprochement dans le cas où tu as x crédit pour 1 seul débit.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  19. #39
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Donc si je regarde ton exemple partiel:
    - pour chaque clé (clé = concaténation de la colonne "Description 2" et "Date comptable" si le montant débit ou crédit <>0) il faut vérifier que la somme des mouvements en débit soit égale à la somme des mouvements en crédit
    - ne pas reporter les mouvements soldés de cette clé
    - reporter toutes les lignes de cette clé si le solde n'est pas 0

    Exact ?

    Attention; cela sous-entend que tu n'auras jamais plusieurs fois la même description 2 à la même date comptable ou alors il faut ajouter le montant à la clé mais dans ce cas tu ne pourras plus faire le rapprochement dans le cas où tu as x crédit pour 1 seul débit.
    Oui c'est exact, espérons que mon raisonnement fonctionne. Bon courage

  20. #40
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Juin 2021
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Juin 2021
    Messages : 32
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    Donc si je regarde ton exemple partiel:
    - pour chaque clé (clé = concaténation de la colonne "Description 2" et "Date comptable" si le montant débit ou crédit <>0) il faut vérifier que la somme des mouvements en débit soit égale à la somme des mouvements en crédit
    - ne pas reporter les mouvements soldés de cette clé
    - reporter toutes les lignes de cette clé si le solde n'est pas 0

    Exact ?

    Attention; cela sous-entend que tu n'auras jamais plusieurs fois la même description 2 à la même date comptable ou alors il faut ajouter le montant à la clé mais dans ce cas tu ne pourras plus faire le rapprochement dans le cas où tu as x crédit pour 1 seul débit.
    Bonjour,

    Je me permets de revernir vers toi concernant la macro, je voulais savoir si tu as eu le temps ou la possibilité de le faire.

    Je te remercie par avance,

    Cordialement,

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Automatiser le rapprochement bancaire
    Par anasben dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/07/2019, 21h08
  2. automatisation Rapprochement bancaire
    Par auran dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/05/2014, 17h48
  3. automatisation Rapprochement bancaire
    Par winnie100 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/03/2014, 18h03
  4. [XL-2007] automatisation Rapprochement bancaire
    Par zealot37 dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 27/11/2012, 17h38

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