Recherche de Doublons sur plusieurs Feuilles

Bonjour à tous,

Dans un premier temps meilleur vœux à tous les membres et leurs familles - Puisse cette nouvelle année apporter tout ce qu'ils veulent tant sur le plan professionnel ou sur le plan personnel.

Dans un second temps j'ai un soucis avec une macro pour effectuer des recherches de doublons sans effacement.

Je dispose d'un classeur excel avec plusieurs feuilles (nombre variable).

Chacune des feuilles correspond à un listing d'appel téléphonique (dans la première colonne le n° de l'abonné, dans la seconde les correspondants et dans la troisième le type d'appel :entrant, sortant, SMS...)

J'ai besoin de faire une recherche de tous les doublons des correspondants et de les exporter dans une nouvelle feuille.

Dans cette nouvelle feuille les résultats doivent être sous la forme :

N° de correspondants - N° d'abonné - Nombre d'appel - Nombre de SMS - Nombre Total

voir du type tableau croisé dynamique

Merci de votre contribution

Pascal

Bonsoir, bienvenue et bonne Année,

Un filtre élaboré sera faire çà,

essaye d'envoyer un fichier avec la structure réelle et données anonymisées

quelques lignes représentatives suffit.

La feuille d'extraction sera-t-elle temporaire ou faudra-t-il archiver ?

Amicalement

Claude

Bonjour,

Merci pour ce post que je viens de voir que maintenant

je te joints un fichier anonymisé.

Le nombre de feuille est aléatoire.

Merci pour ton aide

Pascal

-- 15 Jan 2011, 10:18 --

excuse

Les données devront etre conservée dans une feuille distincte ou copiable par copier coller

encore merci

Pascal

Bonjour,

Il aurait fallu voir la structure réelle du fichier,

comment sont placés et nommés les onglets etc..

sur cet exemple, on traite toutes les feuilles sauf la dernière

nommée "bibi" où on extrait les doublons "Correspondant"

Sub Filtre()
Dim i%
'Macros par Claude Dubois pour "Pascal13009" Excel-Pratique le 15/01/11
Application.ScreenUpdating = False
    With Sheets("bibi")
            .Cells.Clear
        For i = Worksheets.Count - 1 To 1 Step -1
            With Worksheets(i)
                .Range("k2") = "=COUNTIF(b:b,b2)>1"
                .Range("a1:c" & .[a65000].End(xlUp).Row) _
                .AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
                .Range("k1:k2"), CopyToRange:=Sheets("bibi").Range("a1:c1"), Unique:=False
                .Range("k2").ClearContents
            End With

            .Range("a:c").Columns.AutoFit
            .Range("a:d").Insert
        Next
            .Activate
            .Range("a:d").Delete
    End With
End Sub

on peut aussi extraire toutes les feuilles en colonnes A:C (à la suite)

à toi de voir

Claude

édit: ajouté Application.ScreenUpdating = False

Bonsoir

Merci cela répond à mon premier problème.

En réalité chaque onglet porte le numéro de téléphone que j'analyse. Il peux y avoir au minimum 2 téléphones et pas vraiment de maximum.

Mon but :

  • Avoir un résultat proche de celui du tableau croise sans avoir l'obligation de faire un onglet regroupant toutes les données (Onglet fusion).
  • Avoir un onglet qui résume pour chaque téléphone (donc chaque onglet) le type de flux. c'est a dire qui comptabilise le nombre total d'appel entrant, d'appel sortant ... afin de voir si cet abonné utilise plus son téléphone pour appeler pour être appelé ou pour envoyer des texto...

Merci encore

Pascal

Bonsoir,

si j'ai bien compris, il ne faut pas retirer les doublons

sinon çà fausse les résultats.

Vois cette proposition,

on peut automatiser facilement si Ok

Claude

édit: je ne connais et n'utilise pas les TCD

Bonsoir,

C'est Ok pour ce point la.

Il manque juste la liste des numéros de correspondants qui sont communs au divers abonnés.

C'est pour cela que j'utilise le TCD mais il est fastidieux de faire une fusion de chacune des feuilles.

Merci

Bsr

Bonjour

A peine si j'ai compris ce que j'ai fait

Bonne nuit

bonjour,

Merci pour ce fichier. Tu as saisi la partie de comptabilisation des types de communications

Mais il faut aussi un tableau avec la liste des correspondants comme il figure dans mon fichier.

J'ai juste envie d'éviter de faire une fusion car cela est fastidieux si on a beaucoup de téléphone.

Merci

Pascal

Bonjour à tous,

Comme dit + haut, je ne pratique pas les TCD

J'arrive quand même au but sur feuille "Résultats" qui doit être

placée en dernier (les feuilles placées avant sont traitées)

Ici j'ai ajouté une feuille nommée "Toto" pour tester,

tu peux ajouter ou supprimer des feuilles

Je te laisse tester

Amicalement

Claude

Bonjour,

Je résultat est exactement ce que j'attendais, la forme tableau croisé n'étais pas obligatoire, mais je n'avais trouvé que cette solution.

Si j'ai bien compris :

1. Mettre la feuille "Résultats" en dernier.

2. Je peux mettre autant de feuille que je veux avant la feuille "résultat".

3. Je clique sur "Analyse" de la feuille "Résultats" et j'obtiens le résultat désiré.

4. Je ne dois pas ajouter de colonne dans les feuilles à traiter.

Amicalement

Pascal

Bonsoir à tous,

Oui, tu as bien compris,

Le programme est prévu pour Excel 2003

tu as droit à 256 colonnes maxi, donc 256/4 = une soixantaine de feuilles

si tu veux davantage, enregistre sous 2007 et modifie cette ligne (vers la fin de macro)

DcL = .Cells(3, 256).End(xlToLeft).Column 

sur Excel 2007 remplacer 256 par 16000

Attention que le cumul des lignes de toutes les feuilles ne dépasse pas 36000

sinon préviens-moi, il faudra ajuster le code.

Sur ce fichier, j'ai un peu amélioré

  • suppression des cellules fusionnées en ligne 2 (toujours la plaie !)
  • maintenant les totaux et la colonne de séparation se font Auto
à chaque feuille.

Rien à faire sur les feuilles Abonnés, on ne traite que les 3 colonnes A,B,C

à partir de la ligne 2 sans rien modifier.

Amicalement

Claude

Bonjour,

Merci tout est OK

C'est ce que j'attendais

Pascal

Rechercher des sujets similaires à "recherche doublons feuilles"