Déplacer une ligne en fin de tableau

Fermé
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020 - Modifié le 12 mars 2020 à 07:16
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020 - 28 avril 2020 à 14:55
Bonjour,

J'ai un tableau de donné qui est trié en vba avec des titres de chapitre.
Je souhaiterai que le titre "autre" se retrouve en fin de classement.

Merci pour votre aide


Configuration: Windows / Internet Explorer 11.0
A voir également:

12 réponses

M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299
12 mars 2020 à 07:20
Bonjour,

Sans savoir comment est agencé votre tableau et dans quel colonne se trouve les titres,
C'est "mission impossible"

Un p’tit classeur avec 10/15 données serait mieux pour régler le soucis

Allez dans https://www.cjoint.com/
Cliquez sur "PARCOURIR" pour sélectionner le classeur
Clic le bouton "CREER LE LIEN"
Clic droit quand le lien est créé "COPIER LE LIEN"
Sur le post Clic droit "Coller".

ou dans https://mon-partage.fr/
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
12 mars 2020 à 07:58
Bonjour M-12, tu dis cela par ce que ta boule de cristal est de mauvaise qualité ,)
0
M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299 > Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024
12 mars 2020 à 09:09
Bonjour Whismeril,
Non, mais je n'ai plus de produit pour la faire briller
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
12 mars 2020 à 09:35
bonjour, peux-tu partager ton code VBA?
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
12 mars 2020 à 16:12
avec le code c'est mieux effectivement, voici la partie concernée

les données sont extraites d'un tableau csv puis classé par ordre alphabétique, ensuite j'y ajoute les titres et je souhaite classer le autre en dernier

Dim ligne As Long, texte As String, ancientexte As String, ex As Worksheet, titre As String
ancientexte = ""
Set ex = ThisWorkbook.Sheets("Export")
For ligne = ex.Cells(ex.Rows.Count, 1).End(xlUp).Row To 1 Step -1
    'je travaille sur la colonne a
    'Rows.count permet de retourner le nombre de ligne de la plage range
    texte = Left(ex.Cells(ligne, 1).Value, 5)
    If Left(texte, 2) = "TT" Then
        texte = "TT"
    End If
    
    If Left(texte, 2) = "VO" Then
        texte = "VO"
    End If
   
    If Left(texte, 3) = "EIC" Then
        texte = "FDD"
    End If
    
    If texte <> ancientexte Then
        If ancientexte <> "" Then
            ex.Rows(ligne + 1).Insert Shift:=xlUp
            ex.Rows(ligne + 1).Insert Shift:=xlUp
            Select Case ancientexte
                Case "TT":
                    titre = "ref"
                Case "VO":
                    titre = "Référentiels 1(VO)"
                Case "FDD":
                    titre = "Fiches 2(FDD)"
                Case "DTER ":
                    titre = "Direction 1"
                Case Else:
                    titre = "Autres Documents"
            End Select
                ex.Cells(ligne + 2, 2) = titre
                ex.Cells(ligne + 2, 2).Font.Bold = True
        End If
        ancientexte = texte
    End If
Next ligne
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
12 mars 2020 à 17:19
j'ai cru avoir lu que le tableau était trié en vba, et je ne trouve pas où se fait ce tri.
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
17 avril 2020 à 14:45
Bonjour
Je me suis mal exprimé, il n’y a pas de tri.

Mon tableau de données est mise en forme avec une macro qui en fonction du nom, le classe dans une catégorie.

J’ai une catégorie autre que je souhaiterai avoir en dernier dans ma liste.

Pour le moment la ligne « autre » est positionnée dès qu’un doc allant dans cette catégorie est rencontré


Dim ligne As Long, texte As String, ancientexte As String, ex As Worksheet, titre As String
ancientexte = ""
Set ex = ThisWorkbook.Sheets("Export")
For ligne = ex.Cells(ex.Rows.Count, 1).End(xlUp).Row To 1 Step -1
    'je travaille sur la colonne a
    'Rows.count permet de retourner le nombre de ligne de la plage range
    texte = Left(ex.Cells(ligne, 1).Value, 5)
    If Left(texte, 2) = "TT" Then
        texte = "TT"
    End If
    
    If Left(texte, 2) = "VO" Then
        texte = "VO"
    End If
   
    If Left(texte, 3) = "EIC" Then
        texte = "FDD"
    End If
    
    If texte <> ancientexte Then
        If ancientexte <> "" Then
            ex.Rows(ligne + 1).Insert Shift:=xlUp
            ex.Rows(ligne + 1).Insert Shift:=xlUp
            Select Case ancientexte
                Case "TT":
                    titre = "ref"
                Case "VO":
                    titre = "Référentiels 1(VO)"
                Case "FDD":
                    titre = "Fiches 2(FDD)"
                Case "DTER ":
                    titre = "Direction 1"
                Case Else:
                    titre = "Autres Documents"
            End Select
                ex.Cells(ligne + 2, 2) = titre
                ex.Cells(ligne + 2, 2).Font.Bold = True
        End If
        ancientexte = texte
    End If
Next ligne

0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
17 avril 2020 à 15:45
tu continues à ne pas être compréhensible.
essaie d'être factuel et concret.

je vois que la macro ne fait qu'une seule chose, c'est modifier le contenu de la colonne B de certaines lignes.

tu utilises des mots tels que "mise en forme", "classe", "catégorie", "liste", je ne vois pas le rapport avec ce que fait la macro.

donne un exemple de ce que tu obtiens, et de ce que tu voudrais obtenir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
17 avril 2020 à 18:27
Cette macro créé un titre en fonction du début de chaque référence texte.
exemple: si des textes commencent par TT, ils sont regroupés ensemble et un titre "texte TT" est ajouté.
et ainsi de suite avec les textes qui commencent par VO, EIC etc...

les textes qui ne peuvent être classés, sont regroupés et un titre "autres doc" ajouté.

seulement, les titres ne sont pas classés, ils sont créés en fonction de l'ordre dans lesquels les textes apparaissent dans le dossier .csv

je me retrouve donc avec le titre "autres doc" en milieu de listes et je souhaiterai qu'il apparaisse à la fin

c'est un peu plus claire j'espère..
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
17 avril 2020 à 19:26
quand tu écris "ils sont regroupés ensemble", que veux-tu dire en réalité? qu'est-ce qui change, à part la colonne B?

quand tu écris "les textes qui ne peuvent être classés, sont regroupés": est-ce le résultat de la macro, ou bien ce que tu souhaites obtenir?

donne un exemple de ce que tu obtiens, et de ce que tu voudrais obtenir.

comment imagines-tu classer les titres sans classer les données des autres colonnes?

peux-tu partager in fichier exemple, avec la macro incluse?
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
17 avril 2020 à 20:15
Les textes sont par ordres alphabétique dans la colonne A.

et je souhaite que ça reste ainsi sauf pour "autre document" qui apparaitra en dernier



0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 17 avril 2020 à 21:03
donne un exemple de ce que tu obtiens, et de ce que tu voudrais obtenir.
peux-tu partager in fichier exemple, avec la macro incluse?

si les textes étaient par ordres alphabétique dans la colonne A, les lignes avec une case vide seraient regroupées.

tes explications sont floues et incohérentes.
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
17 avril 2020 à 22:05
Je veux que le titre ( en colonnes B) « autre document » soit en positionné en dernière position, en fin de tableau.

Que le titre « autre document » et les lignes qui vont avec soit en bas de tableau
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
17 avril 2020 à 22:24
Tu m’avais déjà aidé sur cette question, c’est là que je souhaite avoir la ligne « case else » en dernier

https://forums.commentcamarche.net/forum/affich-36087093-trier-et-inserer-des-titres
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
18 avril 2020 à 08:28
ce serait sans doute plus simple de faire le tri avant d'insérer les lignes de titre.
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
18 avril 2020 à 10:26
j'y ai pensé, mais dans mes documents "autres" j'ai des noms qui commencent par A
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
18 avril 2020 à 11:10
moi je commencerais par remplir toute la colonne B avec le titre, puis je ferais un tri sur la colonne B, puis je viderais la colonne B et commencerais le travail d'insertion des titres.
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
Modifié le 18 avril 2020 à 19:01
J’insère les titres après la mise en page de mon tableau, et certains titres n’apparaissent que si certains documents sont présent, l’export du tableau en .csv change chaque semaine

Je peux commencer par couper les lignes dont la cellule de la colonne A est remplie.
Faire un tri de la colonne B en mettant « autre doc » en dernier et enfin re coller les lignes couper.
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
19 avril 2020 à 17:52
Autre hypothèse, je peux indiquer que je souhaite la « case else » toujours en derniers?
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
19 avril 2020 à 18:33
non
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020 > yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
19 avril 2020 à 19:14
Merci
Au moins je ne perd pas de temps sur cette hypothèse
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
28 avril 2020 à 14:55
je vous joins le fichier exporté

Référence
VO00866
VO00867
VO00869
VO00925
VO00983
VO00984
VO11667
VO11668
TT00021
TT00057
TT00057
TT00065
TT00325
TT00326
TT00327
TT00408
TT00429
TT00430
TT00510
TT00511
TT00511
TT00512
TT00512
TT00513
TT00514
TT00514
TT00515
TT00515
TT00516
TT00516
TT00780
TT00828
TT00874
TT00956
TT00991
TT01004
TT01191
TT01193
TT01200
TT01511
TT10510
TT10510
TT57001
TT57002
TT70506
TT95601
TT95602
OP52754
OP98091
GRH00808
LT EPT4 TT00116
LT EPT4 TT00177
LT EPT4 TT00924
LT EPT4 TT00925
TER AURA TT01004
TER AURA TT15054
TER AURA TT15072
TER AURA TT15073
TER AURA TT15074
TER AURA TT15077
TER AURA TT15079
TER AURA TT15105
TER AURA TT15106
TER AURA TT15107
TER AURA TT15120
TER AURA TT15121
TER AURA TT15130
TER AURA TT15131
TER AURA TT15132
TER AURA TT15133
TER AURA TT15134
TER AURA TT15151
TER AURA TT15152
TER AURA TT15153
TER AURA TT15154
TER AURA TT15155
TER AURA TT15170
TER AURA TT15403
TER AURA TT15410
TER AURA TT15450
TER AURA TT15452
TER AURA TT15453
TER AURA TT15601
TER AURA TT15970
TER AURA TT15971
TER GE TT03000
TER GE TT03001
TER GE TT03002
TER GE TT11012
TER GE TT11013
TER GE TT11015
TER GE TT11022
TER GE TT11028
TER GE TT11100
TER GE TT11101
TER GE TT11102
TER GE TT11103
TER GE TT11104
TER GE TT11131
TER GE TT11132
TER GE TT11161
TER GE TT11162
TER GE TT11200
TER GE TT11201
TER GE TT11301
TER GE TT11302
TER GE TT11303
TER GE TT11304
TER GE TT11305
TER GE TT11331
TER GE TT11341
TER GE TT11351
TER GE TT11371
TER GE TT11400
TER GE TT11401
TER GE TT11402
TER GE TT11404
TER GE TT11406
TER GE TT11501
TER GE TT11600
TER GE TT11701
TER GE TT11702
TER GE TT11703
TER GE TT11721
TER HDF TT09003
TER HDF TT12003
TER HDF TT12005
TER HDF TT12006
TER HDF TT12008
TER HDF TT12033
TER HDF TT12047
TER HDF TT12100
TER HDF TT12101
TER HDF TT12110
TER HDF TT12200
TER HDF TT12201
TER HDF TT12202
TER HDF TT12203
TER HDF TT12204
TER HDF TT12210
TER HDF TT12211
TER HDF TT12212
TER HDF TT12213
TER HDF TT12214
TER HDF TT12215
TER HDF TT12221
TER HDF TT12222
TER HDF TT12223
TER HDF TT12225
TER HDF TT12300
TER HDF TT12301
TER HDF TT12310
TER HDF TT12400
TER HDF TT12600
TER HDF TT12601
TER HDF TT12700
TER HDF TT12701
TER HDF TT12702
TER HDF TT12703
TER HDF TT12900
TER HDF TT12935
TER NA TT14037
TER NA TT14038
TER NA TT14105
TER NA TT14106
TER NA TT14107
TER NA TT14124
TER NA TT14141
TER NA TT14202
TER NA TT14203
TER NA TT14204
TER NA TT14600
TER NA TT14602
TER NA TT14936
TER NA TT14945
TER OC TT10502
TER OC TT14205
TER OC TT14207
TER OC TT14208
TER OC TT14603
TER OC TT15122
TER OC TT15300
TER OC TT15303
TER OC TT15604
TER SUD TT15108
TER SUD TT15190
TER SUD TT15200
TER SUD TT15602
TER SUD TT15920
DJ TT15011
DJ TT15101
DJ TT15102
DJ TT15103
DJ TT15104
DJ TT15110
DJ TT15111
DJ TT15113
DJ TT15114
DJ TT15402
DJ TT15600
DJ TT15603
DJ TT15611
RN TT13065
RN TT13065
RN TT13601
RN TT13607
RN TT13607
RN TT13707
RN TT13707
DTER PDL TT13411
DTER PDL TT13605
DTER PDL TT13605
DTER PDL TT13701
DTER PDL TT13703
DTER PDL TT13703
DTER PDL TT13705
DTER PDL TT13711
DTER PDL TT13711
EIC BFC DC00055
EIC BFC DC00056
EIC BFC TT95603
EIC BFC TT95604
EIC PE DC00010
EIC PE DC00101
EIC PE DC00104
EIC PE DC00107
EIC PE DC00108
EIC PSE DC00009
EIC PSE DC00010
EIC RA DC01180
EIC RA DC01181
EIC RA DC01182
EIC RA DC01183
ET HDF TT00801
E TGV N TT85002
E TGV N TT85003
E TGV N TT85003
ETIT MT01006
ERLN TT13031
ERLN TT13031
ERLN TT13039
ERLN TT13103
ERLN TT13106
ERLN TT13107
ERLN TT13107
ERLN TT13109
ERLN TT13111
ERLN TT13115
ERLN TT13121
ERLN TT13202
ERLN TT13301
ERLN TT13303
ERLN TT13303
ERLN TT13321
ERLN TT13321
ERLN TT13403
ERLN TT13412
ERLN TT13412
ERLN TT13932
ERLN TT13932
ERLN TT13934
ERLN TT13934
ETER CVL TT00122
ETER CVL TT13041
ETER CVL TT13041
ETER CVL TT13401
ETER CVL TT13401
ETER CVL TT13600
ETER CVL TT13600
ETER CVL TT13602
ETER CVL TT13603
ETER CVL TT14101
ETER CVL TT14103
ETER CVL TT14103
ETER CVL TT14104
ETER CVL TT14104
ETER CVL TT14111
ETER CVL TT14201
ETER CVL TT14301
ETER CVL TT14301
ETER CVL TT14302
ETER CVL TT14302
ETER CVL TT14303
ETER CVL TT14502
ETER CVL TT14503
0