des doublons

  • Initiateur de la discussion Brigitte
  • Date de début
B

Brigitte

Guest
Bonjour le forum,

des doublons
En colonne A j'ai des articles "toto, tata, titi, toto, titi"
En colonne B j'ai des Prix "10, 2, 5, 8, 1"

Je recherche une macro qui me supprime les doublons,
mais avant la supression je voudrais que l'on fasse la somme
du même article :

Exemple pour ci-dessus, je souhaiterais que l'on supprime
un toto mais que l'on fasse sa somme 10+8 = 18 et
ainsi de suite avec titi...

J'ai joint mon fichier si quelqu'un à une solution je le remercie d'avance.

A+
@Brigitte@
 
J

Jacques

Guest
Bonsoir Brigitte,

je pense que le code suivant pourrait faire ce que tu cherches.

Sub supdoublon()

Columns("A:B").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
While ActiveCell.Offset(1, 0).Value <> ""
If ActiveCell.Offset(1, 0).Value = ActiveCell.Value Then
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, 1).Value + ActiveCell.Offset(1, 1).Value
ActiveCell.Offset(1, 0).Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Offset(-1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Wend
End Sub


Bonne soirée
 
B

Brigitte

Guest
Bonjour Jacques, bonjour le forum,

Je te remercie, ta macro c'est exactement ce que je recherchais.
Par contre j'ai fait une erreur, dans mon fichier original, les articles sont bien dans la colonne "A"
mais les sommes sont dans la colonne "C".
Je n'arrive pas à l'adapter pour que ça fonctionne comme l'exemple que tu m'as fait.

Je souhaiterais que le trie commence à partir de rangée "12"
Comment s'y prendre, Merci.

Bon dimanche.

@Brigitte@
 
J

Jacques

Guest
Bonsoir Brigitte,

Alors essaie avec ce code modifié (on suppose que ton tableau se termine à la ligne 50 - si ce n'est pas le cas tu remplace C par Cet le numéro de la dernière ligne)

Sub supdoublon()
Range("A12:C50").Select
Selection.Sort Key1:=Range("A12"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Range("A12").Select
While ActiveCell.Offset(1, 0).Value <> ""
If ActiveCell.Offset(1, 0).Value = ActiveCell.Value Then
ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value + ActiveCell.Offset(1,2).Value
ActiveCell.Offset(1, 0).Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Offset(-1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Wend
End Sub
 
S

Sellam Fouad

Guest
Bonjour ,

J'ai 2 fichiers Excel comprenant :
- Fichier 1 : Colonne A : Référence ( Alphanumérique )
Colonne B : Quantité ( Numérique )

- Fichier 2 : Le fichier 2 comprend les mêmes références avec en plus la désignation ( alphanumérique ) et le prix unitaire de chaque référence .
Je voudrais constituer un fichier dans lequel qui me synthétise :

Colonne A Colonne B Colonne C Colonne D
Désignation Référence Quantité Prix Unitaire

Remarques :
1.- Il est clair que ma clef de tri est la REFERENCE .
2.- J'ai essayé d'utiliser l'option '' Sous-totaux '' mais là , j'arrive à inclure les quantités avec les prix unitaires ... mais pas les DESIGNATIONS !!!
2.- Ma demande est motivée par le fait que mon fichier comprend plus de 5000 références !!!
Je vous remercie d'avance , Sellam F.
 
S

Sellam Fouad

Guest
Bonjour ,

J'ai 2 fichiers Excel comprenant :
- Fichier 1 : Colonne A : Référence ( Alphanumérique )
Colonne B : Quantité ( Numérique )

- Fichier 2 : Le fichier 2 comprend les mêmes références avec en plus la désignation ( alphanumérique ) et le prix unitaire de chaque référence .
Je voudrais constituer un fichier dans lequel qui me synthétise :

Colonne A Colonne B Colonne C Colonne D
Désignation Référence Quantité Prix Unitaire

Remarques :
1.- Il est clair que ma clef de tri est la REFERENCE .
2.- J'ai essayé d'utiliser l'option '' Sous-totaux '' mais là , j'arrive à inclure les quantités avec les prix unitaires ... mais pas les DESIGNATIONS !!!
2.- Ma demande est motivée par le fait que mon fichier comprend plus de 5000 références !!!
3.- Je précise que je fonctionne sous Windows 98 et Excel XP
Je vous remercie d'avance , Sellam F.
 
C

Celeda

Guest
Bonjour,

Fouad, je ne comprends pas bien le rapport avec les Doublons mais voilà, je suis partie sur l'hypothése ci-dessous avec une simple recherche v :

supposons que tu puisses mettre tes feuilles qui comportent les données dans le même classeur pour simplifier les choses,

tu vas chercher dans le File 1 les qts à reporter dans File 2.
Comme c'est une rechercheV, il faut que tes données soient triées en ordre de part et d'autre.
Ici j'ai nommé dans File 1, Tablo qui regroupe ton tableau.
et dans File 2 j'ai donné un nom à la formule RecheQ (Insertion-Noms).
=IF(ISNA(VLOOKUP($a2,Tablo,2,0)),"",(VLOOKUP($A2,Tablo,2,0)))
=SI(ESTNA(RechercheV(..............


J'ai fait le test sur 10000 lignes et cela marche bien - attention au recalcul.
Dans la demo, pour pouvoir être posté j'ai coupé à 34 lignes.

Il te suffit aprés d'inverser les colonnes au besoin mais je ne comprends toujours pas le rapport avec Doublons, si tu pouvais nous revenir là-dessus pour nous donner plus de détails ou bien mettre ton propre fichier......à moins que tu aies des doublons dans tes références....non il vaut mieux que tu eclaircisses l'horizon avant de se lancer dans d'autres calculs.

Enfin moi je t'écris cela, c'est pour toi......

Celeda
 

Pièces jointes

  • RechercheVFouad1.zip
    4.6 KB · Affichages: 10
S

Sellam Fouad

Guest
Bonjour ,
Je suis vraiment navré de n'avoir pas été très clair dans l'explication de mon problème . Je tiens à vous remercier vivement car , malgré celà , vous m'avez réglé le problème à 90 % !!!
Pour plus de précisions , je vous envoie une partie de mon fichier avec l'explication de ce que je veux faire dans FILE2 :
Il est donc question de ramener les 2 champs ( désignations et PU ) dans le fichier FILE2 à partir du fichier FILE1 .

PS : Scannez le fichier que je vous envoie , on ne sait jamais ... J'ai été visité ces derniers jours par le virus REDLOFF.A !!!
En vous remerciant encore une fois , Sellam Fouad
 

Pièces jointes

  • FichierFouad.zip
    48.5 KB · Affichages: 12
  • FichierFouad.zip
    48.5 KB · Affichages: 9
  • FichierFouad.zip
    48.5 KB · Affichages: 21
C

Celeda

Guest
Bonjour,

Voici le même fichier avec deux RechercheV = le NA te permet de laisser en blanc la cellule, dans la formule, l'argument 2 ou 3 te donne le numéro de la colonne concernée par la recherhe. Attention, pour les noms des plages. On peut les rectifier directement en appelant la fonction Insertion - Noms et on rectifie directement dans la barre de formule.

Mais Fouad tu vas faire comment pour regrouper les autres données ?

Celeda
 

Pièces jointes

  • FichierFouad.zip
    49.7 KB · Affichages: 17
  • FichierFouad.zip
    49.7 KB · Affichages: 25
  • FichierFouad.zip
    49.7 KB · Affichages: 20
S

Sellam Fouad

Guest
Bonjour ,

Je vous remercie vivement ... C'est exactement ce que je voulais !!!
Mon problème est résolu à 100 % .
Le regroupement des autres données ne m'intéresse pas pour le moment , j'ai besoin des références dont les prix unitaires existent dans le fichier FILE1 seulement .

Encore une fois mille mercis ... et à bientôt , Sellam Fouad
 
J

Jacques

Guest
Bonsoir So,
comment se présente ta liste d'emails?
Si j'ai bien compris tu considères comme doublons titi@domainea
et toto@domainea alors que toto@domaine a et toto@domaineb ne sont pas des doublons.
Est-ce bien celà,

à bientôt
 

Discussions similaires

Réponses
2
Affichages
525

Statistiques des forums

Discussions
312 329
Messages
2 087 333
Membres
103 519
dernier inscrit
Thomas_grc11