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

Excel Discussion :

PB pour égaliser les n° de comptes


Sujet :

Excel

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut PB pour égaliser les n° de comptes
    Bonjour à tous,
    Je travaille actuellement sur un outil de contrôles automatisés de la balance sous excel, qui me donne des informations sur le bilan, les charges à payer, etc, en terme de sens, de variations en volume, en valeur...
    Un logiciel comptable me permet d'extraire la balance de l'année n et n-1 ainsi que le PCG en fichiers txt. Ainsi, grâce à plusieurs macros VBA ces fichiers sont importés et traités par mon outil.
    Le problème est le suivant*: sur une feuille, 2 macros importent les comptes de classe 6 de l'année n (colonnes A*:E) et de l'année n-1 (colonnes G*:I), puis une fonction SI (colonne K) me permet de les comparer en ligne d'une année sur l'autre, ce qui suppose que les mêmes numéros de comptes apparaissent sur les mêmes lignes. Or, ces comptes varient beaucoup dans notre organisme (certains numéros sont supprimés, d'autres créés, etc.) ce qui a pour conséquence de biaiser mes calculs*:
    Gestion112 6061 Électricité 392,03 euros Gestion101 6061 Électricité -16,3 euros
    Gestion112 6061 Électricité 401,71 euros

    Et cela sur près de 800 lignes.
    Ce que je souhaiterais c'est que les comptes qui existent en n et en n-1 apparaissent sur les mêmes lignes et que les comptes qui n'existent que sur l'un des deux exercices apparaissent sur leur propre ligne, Ainsi mes calculs de variations ne seront pas biaisés.
    Avez-vous une solution à me proposer*?
    Merci d'avance.

  2. #2
    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 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Pour moi, deux solutions possibles:

    1) Extraire N et N-1 sur la même feuille, en continu (l'un en dessous de l'autre), puis TCD

    2) Extraire N et N-1 sur des feuilles séparées, puis établissement du PCG sur une troisième feuille (Chaque compte N et N-1 une seule fois) et formule RECHERCHEV sur les feuilles sources puis comparaison
    "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. #3
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut RE:
    Merci pour votre intéret,
    Je ne n'utilise et ne maitrise pas assez les TCD pour en faire qq chose d'intéressant.
    Tandis que la fonction RECHERCHEV n'est pas apllicable dans le cas présent...

    Mon fichier étant trop volumineux 1,34 Mo, impossible de l'envoyer en pièce jointe sur le site.

  4. #4
    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 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Si RECHERCHEV() ne peut pas fonctionner, utilise
    INDEX(Plage_A;EQUIV(ValeurCherchée;Plage_B;0))
    "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...
    ---------------

  5. #5
    Membre actif Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Points : 236
    Points
    236
    Par défaut
    Salut

    j'ai déjà eu un cas similaire j'ai fait un programme de tri
    l faut lors de tri déplacer les montants aussi

    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
    Sub S()
    Dim I, J
    Dim remm, val
    I = 1
    J = 1
     
    Columns("DA:DA") = ""
     
    While Range("E" & I) <> ""  'mes compte N-1
       val = Range("E" & I)
          For J = 1 To 800 'Mes compte N
     
               If val = Range("F" & J) Then
     
               If Range("DA" & J) <> 1 Then
     
          remm = Range("F" & I)
          Range("F" & I) = Range("F" & J)
          Range("F" & J) = remm
          Range("DA" & I) = 1
           I = I + 1
           J = 1
           val = Range("E" & I)
     
           End If
                 End If
     
          Next J
     I = I + 1
    Wend

    End Sub
    Je fume du thé et je reste éveillé, le cauchemar continue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/07/2010, 16h25
  2. Réponses: 0
    Dernier message: 05/06/2009, 00h26
  3. [MySQL] ne pas tenir compte des variables non utilisées pour éviter les bugs
    Par canary dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 26/03/2009, 08h46
  4. Réponses: 2
    Dernier message: 02/04/2007, 08h44
  5. Réponses: 12
    Dernier message: 25/08/2006, 13h44

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