Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Petit problème de tri :)

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 !

JeanMikael

XLDnaute Junior
Bonjour à tous et à toutes
Alors voilà après avoir écumer les centaines de post sur les tris et essayé d'adapter des macros en fonctions de mes besoins mais sans succès je me tourne vers vous 🙂

Alors voilà dans une feuilles j'ai un grand tableau avec plusieurs colonnes dont la colonne qui nous intéresse ici est une colonne intitulé Segment dans cette colonne on a 4 types de segment le 0, 1, 2, 3 ce que je souhaiterai c'est copié tout mon tableau dans une autre feuille en fonction de mes différents segments, donc j'aurai une feuille pour mon segment 0 une pour mon segment 1 , segment 2 et segment 3 j'aimerai que le code soit réadaptable par la suite pour changer de critère de tri, donc j'ai déjà essayé d'adapté un bout de code de Thierry que voici :


Option Explicit
Const ColToScan As Byte = 30 '<= Soit la colonne 'AD'...
Option Base 1
Sub Filtre()



Dim PlageSource As Variant
Dim PlageCible() As Variant
Dim i As Long, x As Long
Dim NbCol As Byte
Dim C As Byte


Sheets("TERMEAF").Activate

x = 1

With ActiveSheet
NbCol = .Range("A1").End(xlToRight).Column
PlageSource = .Range(Cells(1, 1), Cells(.Range("AD65536").End(xlUp).Row, NbCol))
End With

For i = 1 To UBound(PlageSource)
'If (Mid(PlageSource(i, ColToScan), 1, 1) = "2") Then
ReDim Preserve PlageCible(UBound(PlageSource), NbCol)
For C = 1 To NbCol
PlageCible(x, C) = PlageSource(i, C)
Next
x = x + 1
End If
Next i

Worksheets.Add 'Ici on crée un nouvelle feuille à la volée
ActiveSheet.Name = "Segment 0"
Range(Cells(1, 1), Cells(x, NbCol)) = PlageCible



End Sub

Mais j'ai une petite erreur d'indice qui n'appartient pas à la selection a la ligne "PlageSource="
J'espère avoir été clair 🙂 sinon faite le moi savoir, D'avance merci beaucoup

Cordialement
Jean-Mikaël
 
Re : Petit problème de tri 🙂

bonjour JeanMikael

pour debuter

Code:
Dim PlageSource As [COLOR=red]Range[/COLOR]
[COLOR=#ff0000][/COLOR] 
[COLOR=black]
[/COLOR]

ensuite

Code:
[COLOR=#ff0000][/COLOR] 
[COLOR=red]Set PlageSource =[/COLOR] .Range(Cells(1, 1), Cells(.Range("AD65536").End(xlUp).Row, NbCol))

et je parierais que ce n'est pas fini !!

avec un fichier exemple denué de données confidentielles on serait plus a l'aise pour t'aider
 
Re : Petit problème de tri 🙂

Bonjour pierrejean pas de soucil pour m'avoir répondu aujourdui étant donné
que j'en avais besoin pour le boulot et que je viens seulement de reprendre donc hier s'a m'aurai servi à pas grand chose mais de me répondre ce matin quel agréable surprise ! 🙂 sa m'est bien utile 🙂
Je test ta macro et je te tient au courant merci beaucoup

Cordialement
Jean-Mikael
 
Re : Petit problème de tri 🙂

Excuse moi de ce terme MAIS PUTAIN il est énorme ton programme c'est exactement ce que je voulais en plus j'ai pu le réadapter pour effectuer d'autres tris MERCI ENORMEMENT pierrejean pour ta précieuse aide !
Je vais tres certainement re-poster prochainement vous etes d'une grande efficacité et me permettez de mieux avancer en VBA ! 🙂

Merci à tous
 
- 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

Discussions similaires

Réponses
2
Affichages
432
Réponses
5
Affichages
719
Réponses
4
Affichages
587
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…