XL 2010 Macro pour trier séries de lignes contenant des formules

  • Initiateur de la discussion Initiateur de la discussion fablog
  • 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 !

fablog

XLDnaute Occasionnel
Bonjour tout le monde,

Je pense que la solution à mon problème nécessite une macro car avec les fonctions de trie cela ne fonctionne pas correctement.
Je veux trier mon tableau dans cet ordre:
- Superviseur
- CIDP
- Information (en gardant l'ordre des types d'information)

Le problème est que j'ai des formules de recopie dans les cellules sans couleur des colonnes A à E et c'est ça qui met le bazar.

Merci par avance pour votre aide!
 

Pièces jointes

Bonjour tout le monde,

Je pense que la solution à mon problème nécessite une macro car avec les fonctions de trie cela ne fonctionne pas correctement.
Je veux trier mon tableau dans cet ordre:
- Superviseur
- CIDP
- Information (en gardant l'ordre des types d'information)

Le problème est que j'ai des formules de recopie dans les cellules sans couleur des colonnes A à E et c'est ça qui met le bazar.

Merci par avance pour votre aide!
1 -pour garder l'ordre des types d'information :
il faut que cet ordre corresponde à un type (alpha ou num)
dans le cas contraire
il faut insérer une colonne comportant l'ordre inital

2 - si l'on veut que l'ordre des superviseurs soit alphabétique
il faut que les superviseurs non utilisés soient nommés "zzz" ou tout autre caractère supérieur à "z" dans la table ASCII

en conséquence :
insérez une colonne avant B
en B4 saisissez : 1
en B5 saisissez : 2
sélectionnez ces 2 cellules
double click sur le coin inférieur droit de cette sélection
puis choisir
tri personnalisé :
upload_2018-10-4_16-46-7.png


la colonne B pourra alors ensuite être supprimée
 
Bonjour et merci pour votre réponse. Malheureusement, je dois laisser les cellules vides car je suis sur qu'une fois qu'un employé sera parti, son chef d'équipe ne remettra pas le "ZZZZZ" dans la cellule. Le filtre ne fonctionnera donc plus à ce moment là.
 
Je sais exactement ce que je veux alors je ne vois pas pourquoi vous dites qu'il n'y a pas de cahier des charges. D'ailleurs, dans mon cahier des charges je ne peux pas utiliser de Userform par choix ergonomiques.
Je rappel que ma demande consiste en une macro pas dans des changements de structure de mon fichier.
Merci quand même pour votre temps.
 
Je sais exactement ce que je veux alors je ne vois pas pourquoi vous dites qu'il n'y a pas de cahier des charges. D'ailleurs, dans mon cahier des charges je ne peux pas utiliser de Userform par choix ergonomiques.
Je rappel que ma demande consiste en une macro pas dans des changements de structure de mon fichier.
Merci quand même pour votre temps.
Je pense que la solution à mon problème nécessite une macro
Continuons donc à penser , un VBAiste extralucide va peut-être passer par ici ...
 
Bonjour fablog, Modeste geedee, JHA, le forum,

Je ne comprends pas pourquoi vous utilisez des formules, d'autant qu'elles ne sont pas simples à mettre en œuvre.

Voyez le fichier joint et les opérations de copier-collage spécial.

Il suffira ensuite de trier le tableau sur les colonnes "Superviseur" puis "CIDP".

A+
 

Pièces jointes

Bonjour le forum
JHA était parti sur la même idée que moi.
Ma proposition est un nouveau tableau dans une autre feuille qui est toujours trié et à jour. Il suffit d'incrémenter la dernière ligne et/ou la dernière colonne. Ainsi la base de donnée peut être modifiée à souhait : suppression ou ajout de salariés ; idem pour les jours en colonne. Une solution sans macro.
Bien à vous tous
 

Pièces jointes

Re, salut chatounet,

La solution de mon post #10 est aussi sans macro (et sans formules) 🙂

Maintenant si l'on veut que les plages telles que B5: D9. restent vides il faut du VBA :
Code:
Sub Trier()
Dim a As Range
Application.ScreenUpdating = False
On Error Resume Next 'si aucune SpecialCell
With [A3].CurrentRegion.Columns(2).Resize(, 3)
    For Each a In .SpecialCells(xlCellTypeBlanks).Areas
        a.NumberFormat = "General" 'format Standard
        a.FormulaR1C1 = "=IF(RC5=R4C5,""zzz"",R[-1]C)"
    Next
    .EntireRow.Sort .Columns(3), xlAscending, .Columns(1), , xlAscending, Header:=xlYes 'tri sur 2 colonnes
    .SpecialCells(xlCellTypeFormulas).ClearContents 'efface les formules
End With
End Sub
Fichier .xlsm joint.

A+
 

Pièces jointes

Re à Tous, salut Job75
Bien vu ta proposition, c'est exactement ce que voulait Fablog. Il est vrai que je n'avais pas vraiment compris si son problème était de remplir les cellules en blanc (colonnes B C et D) ou de sans débarrasser, mais aussi si elle voulait travailler directement sur sa BD.
Merci à toi,
 
- 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

Retour