suppresion ligne valuer redondante

M

Maximom

Guest
Bonjour a tous;
je me permets de revenir vers vous
car j'ai toujours ce problème de Macro:

Sur mes x tableaux de x ligne et x colonne, j'ai dans la colonne C :

Cartouche de nettoyage couleur CCA002 pour CANON BJC 2000
Cartouche de nettoyage couleur CCA002 pour CANON BJC 2100
Cartouche de nettoyage couleur CCA002 pour CANON BJC 2110
Cartouche de nettoyage couleur CCA002 pour CANON BJC 2115
Cartouche de nettoyage couleur CCA002 pour CANON BJC 2120
Cartouche de nettoyage couleur CCA002 pour CANON BJC 323F
Cartouche de nettoyage couleur CCA002 pour CANON BJC 4000
Cartouche de nettoyage couleur CCA003 pour CANON BJC 2120
Cartouche de nettoyage couleur CCA003 pour CANON BJC 323F
Cartouche de nettoyage couleur CCA003 pour CANON BJC 4000

Je souhaiterai obtenir ceci:

Cartouche de nettoyage couleur CCA002
Cartouche de nettoyage couleur CCA003

et supprimer toutes les autres lignes qui deviendraient ainsi des doublons, pour eviter de se retrouver avec des lignes comme ceci:

Cartouche de nettoyage couleur CCA002
Cartouche de nettoyage couleur CCA002
Cartouche de nettoyage couleur CCA002
Cartouche de nettoyage couleur CCA002
Cartouche de nettoyage couleur CCA002
Cartouche de nettoyage couleur CCA002
Cartouche de nettoyage couleur CCA002
Cartouche de nettoyage couleur CCA003
Cartouche de nettoyage couleur CCA003
Cartouche de nettoyage couleur CCA003

A savoir que:
- le nombre de ligne (quasiment identiques) est aléatoire, parfois 1 parfois beaucoup plus
- le mot 'pour' peut être pris comme repère car présent dans toutes les cellules

on m'a bien donné un début de piste:

Sub Bouton1_QuandClic()
Dim data As Collection
Dim tablo As Variant
Dim i As Integer
Dim c As Range

Set data = New Collection

For Each c In Range('c1:c' & Range('c65536').End(xlUp).Row)
tablo = Split(c, 'pour')
On Error Resume Next
data.Add Trim(tablo(0)), tablo(0)
On Error GoTo 0
Next c

For i = 1 To data.Count
Cells(i, 3) = data(i)
Next i

End Sub

Mais cela ne fonctionne pas vraiment, je n'ai pas de connaissance en Macro, et je recherche un script.....si possible....complet, car j'aurais beaucoup de mal a l'adapter.

Merci à tous ceux qui pourront m'apporter de l'aide! :unsure:
 

porcinet82

XLDnaute Barbatruc
Salut Maximom,

Le plus simple je pense, c'est que tu mettes en pièce jointe un exemple de ton fichier avec tes données de départ, et le résultat que tu souhaites obtenir afin que l'on puisse directement adapter la solution à ton problème pour que tu n'ai plus rien à faire.

En attendant ton fichier,

@+
 
M

Maximom

Guest
Avec le fichier c'est mieux!
[file name=test_20060125121009.zip size=787]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/test_20060125121009.zip[/file]
 

Pièces jointes

  • test_20060125121009.zip
    787 bytes · Affichages: 19

Hervé

XLDnaute Barbatruc
re tout le monde

avec ce code :


Sub Bouton1_QuandClic()
Dim derligne
Dim tablo As Variant
Dim data As Collection
Dim tablo1 As Variant
Dim i As Integer, k As Integer, ligne As Integer

Set data = New Collection
tablo = Range('a1:e' & Range('a65536').End(xlUp).Row)
ReDim Preserve tablo(1 To UBound(tablo, 1), 1 To UBound(tablo, 2) + 1)

For i = 1 To UBound(tablo)
       
If Len(tablo(i, 1)) > 0 Then 'Merci DidierMdf
                tablo1 = Split(tablo(i, 3), 'pour')
                tablo(i, 3) = Trim(tablo1(0))
               
For k = 1 To UBound(tablo, 2) - 1
                       
If k = 1 Then
                                tablo(i,
UBound(tablo, 2)) = tablo(i, k)
                       
Else
                                tablo(i,
UBound(tablo, 2)) = tablo(i, UBound(tablo, 2)) & ';' & tablo(i, k)
                       
End If
               
Next k
               
On Error Resume Next
                        data.Add tablo(i,
UBound(tablo, 2)), CStr(tablo(i, UBound(tablo, 2)))
               
On Error GoTo 0
       
End If
Next i

Sheets.Add


For i = 1 To data.Count
        ligne = ligne + 1
        tablo1 = Split(data(i), ';')
       
For k = 0 To UBound(tablo1)
                Cells(ligne, k + 1) = tablo1(k)
       
Next k
Next i
       
End Sub


salut
 

porcinet82

XLDnaute Barbatruc
re Maximom, Salut Hervé,

Merci de ton intervention, je commencait a patoger sévère à essayer de trouver une solution au problème de notre ami.

Je vais abuser un peu de ta gentillesse, est-ce que tu pourrais (quand tu auras un peu de temps de libre) me donner quelques informations sur ce que fais la macro en general, mais également sur le code que tu as proposé car il y a de nombreux codes que je ne connais pas du tout.

Merci d'avance.

@+
 
M

Maximom

Guest
Hervé écrit:
Bonjour maximom, porcinet

le on qui a donnée le script c'est moi ici :

signé : le on

Bonjour Hervé, en fait je ne voulais pas te citer.... car ce que tu m'avais donné ne fonctionnait pas, en fait je ne voulais pas porter atteinte à ton image! :p :p

Merci pour ton travail, je teste ça et je vous tient au courrant!

Merci Monsieur Hervé ! ;)
 

Hervé

XLDnaute Barbatruc
re maximom, porcinet

maximom, ne t'inquiète pas pour mon image.

le code que je t'avais donné fonctionnait, c'etait juste une piste au regard des informations que j'avais.

d'ailleurs la colonne vertebrale du premier code (l'utilisation de la collection) se retrouve dans celui-ci.

pour tes colonnes G,H et I :

modifie ici :

tablo = Range('a1:e' & Range('a65536').End(xlUp).Row)

ici le tablo se remplit avec les données de A à E remplace simplement le E par I.

c'est tout.

porcinet, des que j'ai 5 mn je reviens avec plus d'explication.

salut
 

Hervé

XLDnaute Barbatruc
re :)

purée ca rame xld, ca vient de chez moi ?

Porcinet , en pièce jointe le fichier de maximom avec quelques explications sur la feuille et dans le code.

j'espère que je serai clair, je ne suis pas doué pour cette exercice.

si tu as un souci tu n'hésites surtout pas.

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

Message édité par: hervé, à: 25/01/2006 17:24
 

Pièces jointes

  • test_20060125172334.zip
    13.8 KB · Affichages: 19

porcinet82

XLDnaute Barbatruc
re,

Hervé, merci d'avoir pris le temps d'ecrire les explications sur ton code, c'est vraimeent sympa. J'ai jeté un bref coup d'oeil et ca à l'air quand meme costeau comme truc. Mais c'est peut etre du au cour de maths que je viens de me taper :) .

Je te remerci, je regarde ca a tete reposé et si j'ai un soucis je te recontacte.

Encore merci et bonne soirée.

@+
 
M

Maximom

Guest
Bonsoir Hervé,
je viens d'essayé de remplacer de ce que tu m'as dis
tablo = Range('a1:i' & Range('a65536').End(xlUp).Row)

mais il y a un bug, cela ne fonctionne pas correctement, est ce que tu peux voir si il n'y a pas une modif a faire?
Merci!
 

Hervé

XLDnaute Barbatruc
Bonsoir maximom


Ah là là là, et voilà mon image est encore ecorné.

et dire que j'avais mis des mois à la construire, et toi vlan tu me détruit tout à travers une phrase.

:) :) :)

bon, qu'est ce qui ne marche pas ?

en pièce jointe, ton fichier avec des données en G,H et I.

merci de me faire parvenir une pièce jointe avec les données se trouvant dans ces colonnes.

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

Pièces jointes

  • test_20060125224734.zip
    10.5 KB · Affichages: 26
M

Maximom

Guest
J'ai compris !! pourquoi cela ne fonctionne pas!
en fait parce que les données sur les collones G H et I sont des adresse html, et toutes differentes.

J'ai fait un essai sur le fichier test, et ça plante dés que les données sur les colonnes sont différentes.

regarde j'ai modifié le fichier test, et ça ne fonctionne plus!

Sans vouloir écorné aucune image... ;)
C'est pas le genre de la maison :)
[file name=test_20060125233633.zip size=787]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/test_20060125233633.zip[/file]
 

Pièces jointes

  • test_20060125233633.zip
    787 bytes · Affichages: 28

Discussions similaires

Réponses
0
Affichages
175

Statistiques des forums

Discussions
312 452
Messages
2 088 547
Membres
103 881
dernier inscrit
malbousquet