Combinaison Liste sans doublon et tri sur de multiples zones différentes

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 !

moustic54

XLDnaute Occasionnel
Bonjour le forum,

Je ne parviens pas à obtenir une liste triée sans doublons de noms à partir d'un tableau comprenant plus de 40 colonnes non continues.
Passé un certain nombre de références, la formule bloque et le résultat obtenu indique une erreur comme s'il ne pouvait pas gerer un nombre trop important de références. Or mon tableau comporte plus de 40 colonnes "à inspecter" pour avoir ma liste finale en face de laquelle je devrais calculer la somme des chiffres pour chacun des noms.

Quelqu'un pourrait il regarder la formule utilisée dans le fichier joint pour me dire où se trouve l'erreur ?
Ou s'il faut procéder différemment.

Merci d'avance
 

Pièces jointes

Re : Combinaison Liste sans doublon et tri sur de multiples zones différentes

Bonjour,
je pense que le problème vient notamment du fait que ta zone doit être définie.
Comme j'ai bloqué sur la fonction, je l'ai tenté en sub (cf.onglet Test_Sub).
Je t'ai également proposé une version formule (cf.onglet Test_Formule).
J'ai enregistré le fichier au format .xls pour que les VBAistes n'ayant pas 2007 ou 2010 puissent éventuellement t'aider.
A+
 

Pièces jointes

Re : Combinaison Liste sans doublon et tri sur de multiples zones différentes

Bonjour moustic54

Je crains fort que ton problème ne puisse se resoudre avec une fonction !!

Voici une solution avec une sub

Edit :Salut david (avais pas rafraichi)
Edit2: Un tres grand BRAVO pour les formules !!!
 

Pièces jointes

Dernière édition:
Re : Combinaison Liste sans doublon et tri sur de multiples zones différentes

Bonjour

Un essai

La ligne
Code:
Dim d():  ReDim d(Application.Caller.Rows.Count)         ' table pour retour

à remplacer par
Code:
Dim d():  ReDim d(Application.Caller.Rows.Count + 1)       ' table pour retour

Sur 2003 c'est Ok
 
Re : Combinaison Liste sans doublon et tri sur de multiples zones différentes

Re
pierrejean : merci🙂. Je regarde ta proposition.

moustic54 : concernant ma proposition, placer en debut de sub
Application.Calculation = xlCalculationManual
et en fin de sub
Application.Calculation = xlCalculationAutomatic
afin d'accélérer la procédure qui est ralentie en l'état (je pense que c'est dû au recalcul de la formule placée dans l'autre onglet). Ceci-dit, celle proposée par pierrejean est prête à l'emploi donc c'est plus pour info...

banzaï64 : bonjour. Pour info, le remplacement de la ligne indiquée fonctionne chez moi (2007) mais par contre cela ne fonctionne plus dès que j'entre un nouveau type (ex : Aaa).
A+

Edit : dans les propositions VBA (y compris la mienne), TV passe avant Téléphone Fix...
 
Dernière édition:
Re : Combinaison Liste sans doublon et tri sur de multiples zones différentes

Bonjour

Dernière tentative

Tu modifies ces lignes

Code:
  Dim d():  ReDim d(Application.Caller.Rows.Count)           ' table pour retour
    For i = LBound(temp) To Application.Min(UBound(temp), Application.Caller.Rows.Count - 1): d(i) = temp(i): Next i

En rajoutant des noms pas d'erreurs
 
Re : Combinaison Liste sans doublon et tri sur de multiples zones différentes

Re Banzai64,
Suite à ta dernière modification, je te confirme chez moi que cela fonctionne correctement, donc BRAVO à toi 🙂!
Par contre, pour info, le tri place toujours TV avant Téléphone Fix😕.
A+
 
Re : Combinaison Liste sans doublon et tri sur de multiples zones différentes

Bonjour à tous, Pierre Jean, David 84 et Banzai64

Désolé de n'avoir pu répondre plus tôt, j'étais sur la route pour récupérer mon poussin chez sa mère.
Je n'ai pas encore pu tester les différentes solutions que vous me proposez, seule celle de Banzai64 a été testée.

1. Banzai64, en modifiant le code comme tu me l'a indiqué je parviens à prendre en compte uniquement 9 colonnes 😕 dans ma formule "definition nom =TYPE" qui s'appelle différemment dans mon fichier d'origine. Le probleme se situe à présent au niveau de la définition de ce nom "TYPE" dans l'exemple du fichier en copie. Mon fichier d'origine contient plus de 40 colonnes et passait la 9eme colonne, excel ne veut plus ajouter d'autres colonnes à la suite.

=Feuil1!$B$4:$B$20;Feuil1!$D$4:$D$20;Feuil1!$F$4:$F$20;Feuil1!$H$4:$H20.........-- limite à 9 zones apres modification faite.
que j'utilisais dans ma formule matricielle : =ListeSDTriéeMZ(Type)

2. A quel niveau ajoutes-tu "Option Compare Text" ?

Je vais regarder les propositions de David 84 et Pierre Jean.
En tout cas, merci à vous trois pour votre aide. C'est super sympa de votre part à tous.
 
Dernière édition:
Re : Combinaison Liste sans doublon et tri sur de multiples zones différentes

Bonjour
A voir si cela peut t'aider

Edit : Bing : Bonjour PierreJean

Ok super, çà fonctionne du tonnerre, Banzai ! Une précision toutefois, où mets-tu "Option Compare Text" ?

Je dois encore faire les calculs en face de chaque nom ainsi listé.

PierreJean, je vais tester ta méthode également, sur un nouveau fichier.

Merci infiniment, vous êtes vraiment des pro 🙂
 
- 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

A
Réponses
0
Affichages
774
Areylac
A
K
Réponses
14
Affichages
3 K
K
Retour