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

Scripting.Dictionary Adaptation

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

Hoareau

XLDnaute Occasionnel
Bonjour

Bonjour

Je cherche à adapter cet macro de JB à un tableau de 1000 lignes 10 colonnes

Je voudrais afficher les communs sur une ligne a côté
Sur la même ligne, les différents

Tant que les communs sont les mêmes et le même nombre que la ligne en dessous , on rajoute les différents sur la même ligne


Ex:
le point ; représente la séparation de colonne

1001;1002;1004;1005;1006;1007;1008;1009;1010;1012

1001;1002;1004;1005;1006;1007;1008;1009;1010;1014

1001;1002;1004;1005;1006;1007;1008;1009;1015;1016

Résultat sur la ligne 2

Communs : 1001;1002;1004;1005;1006;1007;1008;1009;1010
Différents: 1012;1014

A la troisième ligne la procédure recommence puisque ni le nombre de valeurs communes, ni les valeurs ne sont plus les mêmes

Le résultat serait à afficher,à chaque fois, sur la dernière ligne ou les deux conditions sont réunies à savoir dans l'exemple la ligne 2

Mondico1 serait la ligne en cours
Mondico2 la ligne en dessous


Merci




Sub Communs()
a = Range("A2:A" & [A65000].End(xlUp).Row)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For Each c In a
MonDico1(c) = ""
Next c
b = Range("C2:C" & [C65000].End(xlUp).Row)
Set mondico2 = CreateObject("Scripting.Dictionary")
For Each c In b
If MonDico1.exists(c) Then If Not mondico2.exists(c) Then mondico2(c) = ""
Next c
[G2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.keys)
End Sub
 
Re : Scripting.Dictionary Adaptation

Indice n'appartient pas la sélection dans certain cas, explication sur fichier

merci
 

Pièces jointes

Re : Scripting.Dictionary Adaptation

Re...



Vos données sont effectivement disposées différemment dans ce nouveau classeur. L'ajout d'une ligne dans le code devrait régler le problème. Ceci fait, jusqu'à maintenant, vos données prennent au plus douze valeurs distinctes.
Si vous devez avoir plus de douze valeurs distinctes, les codes précédents ne fonctionneront pas.

Comme dans la plage G1:Z1 vous avez vingt valeurs distinctes, j'ai adapté le nouveu code pour traiter jusqu'à vingt valeurs. Si vous dépassez ce seuil, le code ne fonctionnera plus correctement, et il faudra encore des modifications.

Par conséquent, ce qui serait agréable, c'est que vous donniez une bonne fois pour toutes le but réel visé et l'ensemble des conditions à satisfaire, dans un texte clair et raisonné. Merci d'avance.​



ROGER2327
#6129


Mercredi 4 Tatane 139 (Ascension du Mouchard, statisticien, psychiatre et policier - fête Suprême Quarte)
29 Messidor An CCXX, 3,9252h - blé
2012-W29-2T09:25:13Z
 

Pièces jointes

Re : Scripting.Dictionary Adaptation

Impeccable

C'est tout ce qui m'interessait, les combinaisons représentent un classement, ce classement change, doc à chaque fois, il faut mettre les bonnes valeurs à leur place .

Je ne pensais pas que la valeur max avais une importance, pour moi non, c'est pour cela que je ne l'ai pas précisé.


merci encore
 
- 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
4
Affichages
280
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…