suppresion ligne valuer redondante

  • Initiateur de la discussion Initiateur de la discussion Maximom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
 
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,

@+
 
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
 
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.

@+
 
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! 😛 😛

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

Merci Monsieur Hervé ! 😉
 
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
 
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

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.

@+
 
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!
 
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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
910
Réponses
15
Affichages
784
Réponses
0
Affichages
657
Retour