Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives

Advertisement

 
 
LinkBack Outils de la discussion
Vieux 10/08/2004, 11h41   #1 (permalink)
steeve
Guest
 
Messages: n/a
Par défaut Addition avant suppression des doublons





Bonjouuuuuuuuuuuuuuurrr,

Je tiens d’abord à préciser que je suis novice,

1 L 10 100
1 L 10 100
1 L 10 100
2 L 10 100
2 L 10 100
3 L 10 100
3 L 10 100
5 L 10 100
7 L 10 100
8 L 10 100

Voila j’ai le tableau Excel ci-dessus, il me faudrait une macros me permettant de repérer les doublons, cumuler leur montants et juste après de les supprimer. Donc après passage de la macro je devrai obtenir ca :

1 L 30 300
2 L 20 200
3 L 20 200
5 L 10 100
7 L 10 100
8 L 10 100

------------------------code vba de la macro--------------------------

Sub SupprDoublons()
Dim plage As Range
Dim NBlignes As Long

'Tri du tableau sur le colonne 1
Range("A2").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom

'calcul du nombre de lignes
Set plage = Range("a2", [a2].End(xlDown))
NBlignes = plage.Count

'Positionnement du curseur sur la dernière ligne
ActiveCell.Offset(NBlignes - 1, 0).Range("a1").Select

For I = 1 To NBlignes
If ActiveCell.Value = ActiveCell.Offset(-1, 0) Then

'Copier la cellule montant(2)
ActiveCell.Offset(-1, 3).Cells().Copy

'L'Aditionner à la cellue precédente
ActiveCell.Offset(0, 3).Cells().PasteSpecial xlPasteAll, xlPasteSpecialOperationAdd
Application.CutCopyMode = False

'Revenir sur la collonne clé
ActiveCell.Offset(0, -3).Range("A1").Select

'Supprimmer la ligne
ActiveCell.Offset(-1, 0).EntireRow.Cells().Select
Selection.Delete Shift:=xlUp

End If

'Remonte le curseur d'une ligne
ActiveCell.Offset(-1, 0).Range("A1").Select


Next I
End Sub

------------------------------------------fin code macro-----------------------------------
Mais la…… ;!!! Je suis bloquer, elle plante……j’ai une erreur soit au niveau de :

For I = 1 To NBlignes
If ActiveCell.Value = ActiveCell.Offset(-1, 0) Then

Soit au niveau:

Remonte le curseur d'une ligne
ActiveCell.Offset(-1, 0).Range("A1").Select

Cependant quand je fait l’impasse sur l’erreur et que j’exécute la macros 2 fois de suite j’obtiens le résultat voulu.

Si quelqu’un pouvais me filer un coup de main….c pour mon boulot, je suis stagaire….se serai super cool

Merci d’avance.
 
Vieux 10/08/2004, 12h17   #2 (permalink)
Munchkin
Guest
 
Messages: n/a
Par défaut Re: Addition avant suppression des doublons

Cest la bordelle aujourd'hui

ARRETER de poster les question plusieurs fois

Steeve il faut lire la charte du forum avant de poster vos message

Le forum est fait pour tout le monde et non pas seulement pour toi donc une fois tu poste ton message
<http://www.excel-downloads.com/html/French/forum/messages/1_108223_108223.htm>

tu ne le poste pas une deuxieme surtout que ton message est encore parmis les quatre premiers

STOP STOP
Mucnhkin
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 03h21.


(C) 2006 Excel Downloads