Classement de sélection multiple

Résolu/Fermé
Dyarguy Messages postés 31 Date d'inscription jeudi 26 mars 2015 Statut Membre Dernière intervention 13 août 2019 - 27 mars 2015 à 10:36
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 2 avril 2015 à 16:37
Bonjour,

Je suis actuellement sur un document Excel, où les cellules sont remplie par des codifications de pièces.
Ces cellules sont réparties partout dans ma feuille, comme ceci:



Cependant, elles sont nombreuses (15 000 cellules). C'est pourquoi j'aimerai bien les "regrouper" sans avoir a les déplacer une par une, dans se format la:



Comment dois-je faire avec Excel?

Merci d'avance,
Dylan
A voir également:

4 réponses

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
30 mars 2015 à 22:56
Bonjour à tous,

Autre proposition entièrement par macro.
Comme dit djidji, il est pourri ton fichier.
Je ne m'embête pas à dupliquer la feuille Données, j'y supprime tous les espaces inutiles.
https://www.cjoint.com/c/ECExirb6lz3
Le résultat en B ne doit pas dépasser 65536 lignes sinon il faudra faire autrement.

eric
1
Dyarguy Messages postés 31 Date d'inscription jeudi 26 mars 2015 Statut Membre Dernière intervention 13 août 2019
31 mars 2015 à 16:38
Bonjour,
Je te remercie de ton aide, cependant je ne comprend pas pourquoi cela ne marche pas sur mon document d'origine lorsque je transfert la macro. Je change les noms des feuilles pour celle correspondante, mais cela ne fonctionne pas.
Voici le document d'origine avec la macro modifier pour celui-ci:
https://www.cjoint.com/c/ECFqSJ3mqBX

J'ai fait aussi mes recherches et je ne comprend pas ce code:
" Set pl = pl.SpecialCells(xlCellTypeConstants) "
Peut tu m'éclairer stp.

Dylan
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 31/03/2015 à 19:11
Bonjour,

je ne comprend pas ce code: " Set pl = pl.SpecialCells(xlCellTypeConstants) "
Equivalent à 'rechercher et sélectionner / Atteindre... / Cellules... / Constantes', c'est à dire sélectionner les cellules saisies avec une constante (pas les formules, ni les cellules vides).
Pour ne boucler que sur les cellules 'utiles' et non sur les 25000.
C'est pour pouvoir faire ça que je commençais par nettoyer tes cellules " ".
D'ailleurs dans tes formules si() met plutôt ...;"") au lieu de ...;" ") pour avoir une chaine vide et non un espace qu'on ne voit pas et qui est piégeant.

Et ceci t'explique pourquoi ça ne fonctionne pas sur ton fichier. Tu n'as pas de cellules vides ni vraiment avec " ", mais que des formules... D'où l'importance de mettre des fichiers le plus proche possible de la réalité.

Ton fichier est lourd et apparemment tu vas dans vba, je ne met que le code :
Sub traiter()
    Dim datas, c As Range, result() As String
    Dim lig As Long, col As Long
    ReDim result(1 To 1)

    With Sheets("Concatenage")
        datas = .Range([B3], .Cells.Find("*", , , , , xlPrevious)).Value
    End With
    For col = 1 To UBound(datas, 2)
        For lig = 1 To UBound(datas, 1)
            If datas(lig, col) <> " " Then
                result(UBound(result)) = datas(lig, col)
                ReDim Preserve result(1 To UBound(result) + 4)
            End If
        Next lig
    Next col
    With Sheets("Résultat")
        .[B:B].ClearContents
        .[B3].Resize(UBound(result)) = Application.Transpose(result)
        .Select
    End With
End Sub


eric
0
DjiDji59430 Messages postés 4138 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 5 novembre 2024 677
27 mars 2015 à 14:06
Bonjour,

Plutôt que de jouer avec des images, il serait plus judicieux d'envoyer (par https://www.cjoint.com/ ) ton fichier, ou un bout de celui-ci en expliquant sur la feuille ce que tu désirerais. Les intervenants ne sont pas là pour recréer un fichier déjà existant! Cela leur facilitera beaucoup la vie et attirera plus d'attention à ton post.

Crdmt
0
Dyarguy Messages postés 31 Date d'inscription jeudi 26 mars 2015 Statut Membre Dernière intervention 13 août 2019
30 mars 2015 à 13:22
Bonjour,
Voila le raccourci sur mon fichier.
Je suis désole, je débute sur se site.
https://www.cjoint.com/c/ECEnwWLENpq

Merci
0
DjiDji59430 Messages postés 4138 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 5 novembre 2024 677
30 mars 2015 à 19:19
Bonjour,

Il est pourri, ton fichier, les cellules vides ne sont pas vides !

explication dans le fichier :
https://www.cjoint.com/c/ECEtGjJJHpg

Crdmt
0
Raymond PENTIER Messages postés 58716 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 6 novembre 2024 17 231
31 mars 2015 à 00:45
Bonjour Dyarguy.

Si tu n'as pas compris la réaction de DjiDji59430, c'est que toutes tes cellules, apparemment vides, contiennent en réalité un espace " " ! D'où la première manipulation qui a été imposée à eric.
0
Raymond PENTIER Messages postés 58716 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 6 novembre 2024 17 231
31 mars 2015 à 01:53
Mais tu aurais dû continuer dans ta discussion précédente https://forums.commentcamarche.net/forum/affich-31755191-regrouper-des-cellules-eparpillees au lieu d'en créer une autre ... On finira par s'y perdre !
0
Dyarguy Messages postés 31 Date d'inscription jeudi 26 mars 2015 Statut Membre Dernière intervention 13 août 2019
2 avril 2015 à 10:58
Bonjour,
Vos informations marchent à merveille, et je vous en remercie. Merci Eric, je fonctionne avec ton code, merci pour ton explication, et merci au autres, j'ai essayé vos conseils et ils fonctionnent aussi.
Mais je n'est toujours par atteint mon objectif (qui est vraiment compliquer).
Existe t'il un moyens de multiplier les codes 4 fois, ainsi que de "dé-concaténer" un code?

Chaque amélioration doit pouvoir être appliquée sur la feuille entière.
Explication dans le fichier ci-dessous:

https://www.cjoint.com/c/EDck6FB5wqt

Les questions se trouvent dans la page "Objectif" qui est le résultat final de se document, non terminer et remplis à la main.

Je vous remercie d'avance.

Dylan
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
2 avril 2015 à 16:37
Bonjour,

Ca a l'air d'être sans lien avec la question en cours.
Si celle-ci est terminée merci de mettre en résolu et de démarrer un nouveau topic.
Penses aux futurs lecteurs qui recherchent une réponse. Déjà que ce n'est pas simple parfois de suivre le fil, imagine si plusieurs problèmes sont mélangés.

eric
0