VBA/EXCEL : DÉTERMINATION D'UNE PLAGE DES LIGNES MASQUÉES

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 22 sept. 2011 à 13:25
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 29 juin 2015 à 10:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53606-vba-excel-determination-d-une-plage-des-lignes-masquees

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2015 à 10:44
Bonjour, Franck,
Je n'ai pas Excel2010 (je n'ai que la version 2007).
Le rapport de ton observation est donc bienvenu.
Reste que si l'on à l'intention de distribuer le projet et que l'on veut "bénéficier" de tranches plus importantes, il va tout simplement falloir spécifier la taille de ces tranches en fonction de la version.(extractible par Application.Version).
Merci.
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14
29 juin 2015 à 09:52
Bonjour,

Je relance après quelques années. Un test sur Excel 2010 révèle deux choses :
- Pas de souci d'exécution, en moins de 8 secondes la plage est correctement déterminée,
- Il n'existe plus de limitation de 16384 "areas".
Je suppose, Jacques, que tu as intégré un traitement par "tranches" de 15000 en raison de cette limitation. Cela n'a plus lieu d'être depuis Excel 2010 (j'ai testé en ne touchant pas au code mais en modifiant par : Dim tranche As Long et tranche = 60000).
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 oct. 2011 à 07:39
Bonjour Eric (je ne pensais pas te retrouver là et suis très heureux de te retrouver).

Mille merci pour ce rapport de test, qui fait que je vais enfin pourvoir cesser de surveiller cette discussion.

Bon ===>> marche donc pour toutes les versions supérieures ou égales à 97
cs_Frederic45 Messages postés 60 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 30 mars 2010
9 oct. 2011 à 17:47
Bonsoir à tous

J'ai retrouvé un excel 97 au fond d'un tiroir.

Pour VIKING30 :
" Quoique pour la version 1997 il risque d'y avoir un souci car je ne me rappelle pas si elle gérait déjà 65536 lignes ou 32768 lignes ! ? "
si, si, il y a bien 65536 lignes

Pour UCFOUTU :
Merci pour ce code : 6,16 (sous win7)

Eric (edelweisseric)
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 sept. 2011 à 23:19
salut, VIKING30

"autant je ne suis pas certain d'en comprendre toute l'utilité puisque il est possible de sélectionner toutes les lignes et de faire clic droit ==> afficher"

l'affichage n'est dans la démo que pour permettre de contrôler que la plage a bien été constituée et qu'on peut s'en servir comme on l'entend ! Ici, pour le démontrer, on a attribué une couleur (qu'elle n'avait pas) aux lignes de la plage. Ce n'est qu'un exemple et ce n'est pas un but.
VIKING30 Messages postés 11 Date d'inscription dimanche 24 juillet 2011 Statut Membre Dernière intervention 14 août 2013
28 sept. 2011 à 22:22
...
Quoique pour la version 1997 il risque d'y avoir un souci car je ne me rappelle pas si elle gérait déjà 65536 lignes ou 32768 lignes ! ?
VIKING30 Messages postés 11 Date d'inscription dimanche 24 juillet 2011 Statut Membre Dernière intervention 14 août 2013
28 sept. 2011 à 22:07
Bonjour UCFOUTU
Désolé de t'avoir occasionné une fausse joie !
Autant cette macro marche vite et bien autant je ne suis pas certain d'en comprendre toute l'utilité puisque il est possible de sélectionner toutes les lignes et de faire clic droit ==> afficher !
On attend tous le test sur version 1997 ;=)
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 sept. 2011 à 20:40
Merci MICHELMJN34 pour ce compte rendu.
Je t'en remercie d'autant que j'ignorais (j'ai honte) l'existence d'une version 2002.
Récapitulatif, donc :
Marche pour 2000, 2002, 2003, 2007
Nous manque un essai sur version 1997.
MichelMJN34 Messages postés 1 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 28 septembre 2011
28 sept. 2011 à 19:10
Bonjour,

Pour info, cela fonctionne aussi avec un Excel 2002 SP3
7s avec méthode rapide et comme je suis maso, j'ai testé la méthode lente soit 6h30 sur un Dell Inspiron avec processeur Intel I5 760 4 cores. En effet, il n'y a pas photo.
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
28 sept. 2011 à 10:01
Ce n'est pas comme si c'était toi l'auteur :P
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 sept. 2011 à 09:48
Ah zut, alors !
Merci Buno! j'étais probablement mal réveillé et, attendant un test sur 1997 (le dernier encore manquant) je n'ai vu que le 7 final !
Me voilà donc condamné à continuer de surveiller encore ce topic. Sniff !
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
28 sept. 2011 à 09:04
Euh...il est où ton retour sur Excel97? Le viking dit qu'il a testé sur la version 2007...et il ne faut pas faire dire à un viking ce qu'il n'a pas dit... ;)
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 sept. 2011 à 08:09
Merci beaucoup, VIKING30 pour ton test et son résultat.

Il est absolument normal que la ligne 2 ne s'affiche pas in fine puisque nous avons demandé de recenser les lignes masquées de la plage A4:A60002 et que le test affiche en bleu, quand il termine, les lignes qui étaient masquées sur CETTE plage.

Grâce à toi (tu as fait le dernier test qui manquait encore) nous savons que cette méthode marche donc sur toutes les versions depuis 1997.

Je peux donc maintenant cesser de suivre l'évolution de cette discussion.
Merci à tous.
VIKING30 Messages postés 11 Date d'inscription dimanche 24 juillet 2011 Statut Membre Dernière intervention 14 août 2013
27 sept. 2011 à 22:19
Bonjour
J'ai testé chez moi 13,7 secondes (Vista Excel 2007) et ça fonctionne
Mais la ligne 2 ne s'affiche pas !?!?!?

Je compte tester au bureau(XP pro Excel 2003) quand j'aurais le temps (on n'est pas rendus !!!)
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 sept. 2011 à 14:38
Merci beaucoup, Miloud, pour ce rapport

Marche donc sous 2007, 2003 et 2000
Il ne nous manque qu'une expérience sous 1997, pour clore.
milold Messages postés 1 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 26 septembre 2011
26 sept. 2011 à 14:25
Bonjour,

J'ai effectué le test sous excel 2000, traitement qui s'est bien effectué en moins de 7 secondes (6,69921875 précisément).
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 16:22
Merci Buno, Mille mercis.
Cela marche donc très bien avec Excel 2003 aussi.

Quant à :

- lignes 4 à 3999: j'ai bien 1 ligne sur 2 en bleu
- lignes 4000 à 14000: j'ai un gros pavé bleu
- lignes 14001 à 60002: 1 ligne sur 2 en bleu
- jusqu'à 65536: lignes blanches

C'est on ne peut plus normal et correspond parfaitement à ce que j'avais masqué en période de "préparation" (c'est exprès, que je n'avais pas masqué de 4000 à 14000, pour vérifier le bon fonctionnement si grande plage non masquée au milieu).
Cela a pris 13,68 secondes chez toi (presque le double de chez moi). La seconde méthode aurait donc, chez toi, pris probablement plus de 3 heures.

Voilà donc qui est bon pour 2003.
J'ai rétrogradé jusqu'à 1997 et serais heureux de savoir si marche également sur 2000 puis sur 1997.
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
22 sept. 2011 à 15:39
Complément d'information concernant les lignes bleues:
- lignes 4 à 3999: j'ai bien 1 ligne sur 2 en bleu
- lignes 4000 à 14000: j'ai un gros pavé bleu
- lignes 14001 à 60002: 1 ligne sur 2 en bleu
- jusqu'à 65536: lignes blanches
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
22 sept. 2011 à 15:33
13.68s chez moi (WinXP, Excel 2003).
Je n'ai pas lancé la 2nde méthode ;)
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 15:22
Voilà qui est fait (normalement "rétrogradé").
Merci Buno
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 15:11
Bonjour Buno
et Merci.
Oui, c'est même très grave !

Je vais donc essayer de rajouter un fichier "rétrogradé".
A plus .
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
22 sept. 2011 à 13:53
Hello,
Suite à ton commentaire, et étant donné que je suis avec Excel 2003, j'ai voulu te fournir les infos demandées mais, à l'ouverture - pendant la conversion de format - j'ai le message suivant:
"Ce fichier a été crée avec une version plus récente...[blabla]...les controle ActiveX non initialisés ne seront pas ouverts dans cette version d'Excel"
C'est grave docteur?
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 13:25
Aucun commentaire.
J'en espérais toutefois. Pourquoi ? ===>> simplement parce que je me demande si la limite en cause du nombre d'"areas" des plages obtenues par l'utilisation de SpecialCells est la même, quelle que soit la version d'Excel.

J'ai ici utilisé la version 2007 et ai pu constater que cette limite était de 16384 "areas". Il se trouve (coincidence ?) que 16384 est également, sous Excel 2007, le nombre maximum de colonnes d'une Feuille de calcul !

J'en suis donc à me demander si mon code fonctionne également parfaitement sur des versions antérieures (et je sais alors ce qu'il conviendrait d'y modifier, bien évidement).

Un gentil forumeur possédant Excel 2003 ou Excel 2000 accepterait-il de me renseigner sur ce point (me dire le résultat obtenu sur SA version) ?
MERCI d'avance (pour tous et pour ce site) ...
Rejoignez-nous