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 :

Agrégation et suppression


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 20
    Par défaut Agrégation et suppression
    bonjour,
    je cherche à agreger des lignes d'une table selon la regle ci dessous :
    si les cellules entre 3 et 18 sont identiques pour les lignes i et (i+1),
    - sommer la case 58 de ces deux lignes dans la case de la ligne i
    - supprimer la ligne i+1
    - passer à la ligne suivante

    voici ma macro :
    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
    Sub agreger()
     
    Dim i As Integer
    Dim j As Integer
     
    For i = 2 To 500
     
    For j = 3 To 18
     
    If Cells(i, j) = Cells(i + 1, j) Then
    Cells(i, 58) = Cells(i + 1, 58).Value + Cells(i, 58).Value
    Rows(i + 1).Select
    Selection.EntireRow.Delete
     
    Next j
     
    End If
     
    Next i
     
    End Sub
    malheureusement le résultat n'est pas le bon :
    la cellule a sommer est sommée 18 fois,
    puis celle d'en desous est supprimé
    et cela sans prendre en compte la condition que les 18 premiere cellules des deux lignes soit identique.

    HELP!!

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Il faut éviter d'aller dans ce sens-là, lorsque l'on supprime dans une boucle (croche-pieds inévitables ainsi) !
    Va dans l'autre sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = 500 To 2 step -1
    et adapte ton traitement en fonction de ce sens de parcours

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

Discussions similaires

  1. Fonction de agrégation et suppression
    Par ALLODREN dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 09/07/2009, 16h22
  2. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 17h56
  3. Création d'agrégat avec SQLServer
    Par Testav dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 19/09/2002, 16h54
  4. [CR] suppression du bas de page
    Par grosjej dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 10/09/2002, 08h58
  5. Réponses: 3
    Dernier message: 12/06/2002, 21h15

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