Récupérer la liste des valeurs présentes dans plusieurs plages de données

Auzingueur

XLDnaute Junior
Bonjour à tous,

Je viens sur ce forum en espérant trouver une réponse à mon problèmes.

J'ai plusieurs plages de données et j'aimerai lister l'ensemble des chiffres présents dans toutes les plages (j'ai osé parler d'intersection sur un autre forum et je me suis fait remballer, je préfère ne plus m'y risquer).

J'aimerai faire cela sans utiliser les maccros, car les valeurs des plages seront amenées à changer très fréquemment, et je voudrais limiter le temps de calcul (j'ai déjà une maccro assez lourde qui tourne sur le on_Change de la feuille en question sur mon vrai fichier).

De plus, certaines plages n'existent pas tout le temps (comme la plage 4 dans mon fichier joint par exemple). J'aimerai qu'elles ne soient comptabilisées que lorsqu'elles existent.
=> Piste de solution pour ce problème : il est envisageable d'avoir une "plage de secours" (voir fichier joint) qui comportera toutes les valeurs possibles sur la feuille en question. Cela permettrait de remplacer ci-nécessaire la plage manquante par cette plage et de palier au problème.

Pour résumer, dans mon fichier exemple ci-joint, j'aimerai (si possible sans utiliser de maccro) réussir à récupérer dans mes cases rouges les valeurs 1, 5 et 6. Ceci en prennant bien en compte les plages 1, 2, 3 et 4.

ps: Ce n'est pas toujours la plage 4 qui risque d'être manquante, il arrive qu'il n'y en ai aucune manquante, ou il peut manquer n'importe laquelle.

Voilà, j'espère que mon problème est correctement exprimé, et que vous saurez m'aider.

Par avance merci,
Auzingueur


EDIT : En espérant que personne n'est en train de télécharger l'ancienne version de mon fichier, veuillez trouver ci-joint une nouvelle version, avec une formule (colonneH) qui donne le résultat recherché. Reste maintenant à trouver comment prendre en compte le fait que les plages peuvent être nulles.
 

Pièces jointes

  • exempleIntersectionPlages.xlsx
    9.1 KB · Affichages: 52
Dernière modification par un modérateur:

Auzingueur

XLDnaute Junior
Re : Récupérer la liste des valeurs présentes dans plusieurs plages de données

Merci à tous pour vos réponses. Avec quelques petites modifications sur la boucle notamment, cela correspond à ma demande.

J'ai cependant un problème avec la coloration des cellules, sachant qu'à terme, la personne utilisant le fichier n'aura pas accès à cette feuille excel.

J'ai donc voulu résoudre ce problème avec la mise en forme conditionnelle, en colorant simplement les cellules contenant des données. Excel ne compte cependant pas la case comme "colorée" lorsqu'il s'agit d'une mise en forme conditionnelle.

J'ai donc toujours ce problème de gérer les plages vides :/

Pardonnez mon incompétence, je ne suis pas réveillé je crois bien en ce lundi matin, le problème est réglé, je dis juste de colorer mes cases lors de leur création.

Le code à l'air de bien marcher, encore merci, j’attends d'être bien sur de faire fonctionner pour clore la discussion (on ne sait jamais ^^
 

job75

XLDnaute Barbatruc
Re : Récupérer la liste des valeurs présentes dans plusieurs plages de données

Bonjour Auzingueur, le fil,

J'ai donc toujours ce problème de gérer les plages vides :/

Si c'est ça que vous voulez, on peut traiter toutes les plages nommées en excluant celles qui sont vides :

Code:
For Each nom In ThisWorkbook.Names
  If TypeName(Evaluate(nom.Name)) = "Range" And _
    Application.CountA(Evaluate(nom.Name)) Then 'plages non vides
Fichier (5).

A+
 

Pièces jointes

  • exempleIntersectionPlages(5).xlsm
    52.6 KB · Affichages: 35

Auzingueur

XLDnaute Junior
Re : Récupérer la liste des valeurs présentes dans plusieurs plages de données

Mince, j'ai oublié de clore la discussion, le problème est bien résolu par l'utilisation des cellules colorées plutôt que les noms de plage. :)

Merci à tous!
 

Discussions similaires

Réponses
49
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
314 655
Messages
2 111 605
Membres
111 217
dernier inscrit
aladinkabeya2