Enlever les doublons

CAP

XLDnaute Occasionnel
Bonjour tout le monde,

J'ai changé le sujet de mon message parceque force est de constater qu'il n'avait pas eu un grand succès :)

Il s'agit, comme indiqué dans le fichier, de déterminer le nombre de lignes différentes à partir d'une macro. Je pense que l'exemple est assez clair.

Merci par avance pour votre aide,

Cordialement,

CAP [file name=Exemple_Horaires_20050902130041.zip size=5311]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Exemple_Horaires_20050902130041.zip[/file]
 

Pièces jointes

  • Exemple_Horaires_20050902130041.zip
    5.2 KB · Affichages: 26

andré

XLDnaute Barbatruc
Salut Cap,

Petite remarque : sur XLD on ne dédoubleen aucun cas les messages.

Ce n'est pas le sujet qui est en cause mais bien ton explication.

Il faut aussi te dire que je n'ai pas été rechercher ton post précédent, je veux bien t'aider, mais pas participer à un jeu de pistes.

En ouvrant ton fichier, je ne vois vriament pas ce que tu souhaites faire.
Tu partles de 3 types d'horaires, et il y en a tout plein d'autres.
De quels doublons parles-tu ?
Faut-il enlever, déplacer ou supprimer les lignes à motif jaune.

Ta question te semble peut-être claire, mais pas à moi.

Â+
 

Celeda

XLDnaute Barbatruc
Bonjour,

Cap, si je comprends bien, tu recherches à l'aide d'une macro à savoir si des lignes ont été dédoublées (peut-être sont elles arrivées là, suite à une fusion de fichier ?? why not)

et par macro tu veux les répèrer ?

pour les éliminer ensuite ?

ou les conserver selon un code ?

En te disant cela, je pense à des macros déjà faites sur et pour le Forum : celle de mydearFriend et celle de Thomas (pardon aux autres, je sais qu'il en existe pleins d'autres).

Mais tu sais que tu pourrais aussi les trouver ces lignes doublonnes par formules...

à voir ce que tu souhaites faire; pour les macros de nos deux amis, fais une rechercher sur leur speudo ou tapes macro doublons (celle de MydearFriend se trouve je crois dans les Archives)

Celeda
 

CAP

XLDnaute Occasionnel
C'est vrai qu'en fin de compte ce n'est pas très clair et désolé pour le doublonnage de la demande.

Alors sur le fichier, l'objectif est de déterminer
Pour un même numéro (1ère colonne)
Une même semaine (6ème colonne)
Combien y a t-il d'horaires différents ? Un même horaire étant un horaire qui a les même composantes hor1, hor2, hor3 et hor4.

J'ai un peu détaillé le fichier joint cette fois.

Merci par avance,

Cordialement,

CAP [file name=Exemple_Horaires_20050902133548.zip size=5703]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Exemple_Horaires_20050902133548.zip[/file]
 

Pièces jointes

  • Exemple_Horaires_20050902133548.zip
    5.6 KB · Affichages: 27

CAP

XLDnaute Occasionnel
Bonjour Celeda,

En fait, il n'est pas question de les supprimer. Je veux simplement compter le nombre d'horaires différents par numéro et N° sem.

J'ai regardé les macros de mDF et Thomas mais la problématique est, me semble t-il, un peu différente.

Merci en tout cas,

CAP
 

Celeda

XLDnaute Barbatruc
BOnjour,

oui j'ai changé mon fusil d'épaule en essayant de te réaliser sans macro un Tableau récaptitulatif

mais j'ai une question subsidiaire qui me confortera ou pas dans mon raisonnement :

peux-tu me dire si les Colonne Hor1, Hor2, sont bien indépendantes les unes des autres ?

ou bien les colonnes Hor1 est le début d'un horaire
qui se termine dans la colonne Hor2 ?


exemple cette ligne :

202370 13:00 21:00


ou bien

202370 09:30 13:00 14:00 18:30 35


dois-je comprendre
par Hor& = Date de Début
par Hor2 = Date de fin
par Hor3 = Date de Début
par Hor4 = Date de fin

Celeda
 

Hervé

XLDnaute Barbatruc
bonjour celeda, cap, andré

Le temps que je monte mon bidule et la règle du jeu à changer.

Bon pas grave, je met quand meme en pièce jointe le fruit de mon travail (voir la feuille 2).

dis moi si je suis dans le vrai cap, j'ai simplement dédoublonner ta liste.

mon code fait un peu usine à gaz mais je sais pas faire autrement :(

salut

Option Explicit
Sub Bouton2_QuandClic()
Dim tablo As Variant
Dim tablores As Variant
Dim i As Integer
Dim t As Byte, j As Byte
Dim data As Collection

Set data = New Collection

'création d'un tableau variant
tablo = Range('a1').CurrentRegion

'on ajoute une colonne à ce tableau
ReDim Preserve tablo(1 To UBound(tablo, 1), 1 To UBound(tablo, 2) + 1)

'on concatene dans la derniere colonne du tableau les valeurs des colonnes
'précédentes en les séparant par un ';'
For i = 1 To UBound(tablo, 1)
For j = 1 To UBound(tablo, 2) - 1 'le -1 permet de ne pas concatener la colonne de résultat
If t = 0 Then
tablo(i, UBound(tablo, 2)) = tablo(i, j)
t = 1
Else
tablo(i, UBound(tablo, 2)) = tablo(i, UBound(tablo, 2)) & ';' & tablo(i, j)
End If
Next j
t = 0
Next i

'on renvoi chaque valeur concaténer de la derniere colonne à travers le filtre d'une collection
'pour supprimer les doublons
On Error Resume Next 'on gère l'erreur de clé
For i = 1 To UBound(tablo)
data.Add tablo(i, UBound(tablo, 2)), CStr(tablo(i, UBound(tablo, 2)))
Next i
On Error GoTo 0 'on annule le getionnaire d'erreur

'on renvoi en feuille 2 les éléments de la collection en utilisant la méthode split(incompatible xl97)
For i = 1 To data.Count
t = t + 1
tablores = Split(data.Item(i), ';')
For j = 0 To UBound(tablores)
Select Case j
Case 1 To 4
Sheets('feuil2').Cells(t, j + 1) = tablores(j)
Sheets('feuil2').Cells(t, j + 1) = CDbl(Sheets('feuil2').Cells(t, j + 1))
Sheets('feuil2').Cells(t, j + 1).NumberFormat = 'h:mm:ss;@'
Case Else
Sheets('feuil2').Cells(t, j + 1) = tablores(j)
End Select
Next j
Next i

End Sub

salut

edition : qu'est ce que c'est que ce zigouigoui qui vient me polluer mon usine à gaz à moi :angry:

il faut lire : Sheets('feuil2').Cells(t, j + 1).NumberFormat = 'h:mm : ss;@'

[file name=Exemple_Horaires2.zip size=11824]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Exemple_Horaires2.zip[/file]

Message édité par: herve, à: 02/09/2005 14:07
 

Pièces jointes

  • Exemple_Horaires2.zip
    11.5 KB · Affichages: 19

CAP

XLDnaute Occasionnel
Merci beaucoup Hervé pour le temps passé à cette macro. Je dois bien admettre que la syntaxe que tu utilises dans ta macro m'est étrangère, je vais étudier ça. Je crois malheureusement que ça ne répond pas tout à fait à ma problématique.
Encore merci pour ton aide !

PS : Désolé de ne pas avoir été clair dans ma requête dès le début
 

Celeda

XLDnaute Barbatruc
Bonjour,

oui cap tu vas nous recopier sans te servir de la poignée recopie et sans macro :

la prochaine fois je serai clair: 200 lignes excel

donc vévé tu vas me faire fondre à me parler comme cela
je vais pas te faire le coup de la pub
mais presque ...grand charmeur va!!!!!


donc cap revenons à nous,

moi je ne vais pas te proposer une macro mais un simple TCD :
il compte le nombre d'horaires identiques dans la même semaine;
pour plus de lumière, j'ai renommé tes colonnes : on aurait pu même mettre DebutAM et DébutPM mais bon c'est ton fichier,

ensuite un fais un compte tout simple et tu places les horaires de fin ou pas dans le Tcd (aqttention j'ai décoché dans les matricules les autres pour avoir une vision simple de la semaine 35 et 36 pour le 202370)

mais je pense aussi qu'on peut le monter aussi en macro!! et en tableau classique.

Celeda
[file name=ExempleHorairesTCDCap.zip size=7520]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ExempleHorairesTCDCap.zip[/file]
 

Pièces jointes

  • ExempleHorairesTCDCap.zip
    7.3 KB · Affichages: 20
C

CAP

Guest
Merci beaucou Celeda !
Je n'avais pas du tout pensé au TCD. J'ai bien compris le principe, je vais essayer de mettre en application cela. J'ai très peu de connaissances sur les TCDs ...

j'ai très peu de connaissances tout court
:S

Merci tout le monde pour votre aide,

Amicalement,

CAP
 

Statistiques des forums

Discussions
312 370
Messages
2 087 688
Membres
103 639
dernier inscrit
NIEMASAFI