Filtre élaboré et transposé

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 !

fileofish

XLDnaute Occasionnel
Bonjour le forum,

Pouvez vous svp m'aider.
J'ai une liste de prénoms de A2:A21
Dans cette liste il peut y avoir des lignes vides et doublons

Je souhaiterais transposé cette plage A2:A21 en D22:W22 sans vides (les prenoms les uns à coté des autres) et sans doublons.

Cela ne me dérange pas qu'il y est une phase intermédiaire sur la feuille car cette feuille sera cachée.

Je joins un fichier cela sera peut être plus simple

Encore merci
Philippe
 

Pièces jointes

Re : Filtre élaboré et transposé

Bonjour, fileofish, R@chid 🙂, le Forum,

Une autre suggestion, par code :

VB:
Option Explicit
Sub Copier_transposer()
    Application.ScreenUpdating = False
    Range("a1:a21").Copy Destination:=Range("az1")
    Columns("az:az").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
    [az1].Sort Key1:=[az2], Header:=xlGuess
    Columns("az:az").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("ba1"), Unique:=True
    Range("ba2:ba21").Copy
    Range("d22").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
    Columns("az:ba").Clear
    Range("d21").Select
    Application.ScreenUpdating = True
End Sub

A bientôt 🙂
 
Re : Filtre élaboré et transposé

Re-Bonsoir le Forum,
Suite à ma demande sans espace et doublons R@chid m'avait fait la formule suivante:
={SIERREUR(INDEX($A2:$A21;EQUIV(0;SI($A2:$A21<>"";NB.SI($C22:C22;$A2:$A21));0));"")}
Serait-il possible d'adapter la formule pour qu'elle accepte les doublons ?
Double zero m'avait proposé un code VBA mais comme le fichier est déjà mis en place cela n'est pas pratique.

Quelqu'un peut-il m'expliquer la formule de R@chid car la valeur cherchée (après equiv est 0)

Merci à tous
Philippe
 
Re : Filtre élaboré et transposé

Bonsoir @ tous,
En D22,
Code:
=SIERREUR(INDEX($A2:$A21;EQUIV(PETITE.VALEUR(SI($A2:$A21<>"";NB.SI($A2:$A21;"<"&$A2:$A21));COLONNES($D:D));NB.SI($A2:$A21;"<"&$A2:$A21);0));"")
@ valider par Ctrl+Maj+Entree
@ tirer vers la droite
@ + +
 
- 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

F
Réponses
2
Affichages
897
Florian699
F
F
Réponses
14
Affichages
6 K
fred777
F
H
Réponses
3
Affichages
1 K
H
Retour