Extraction conditionnelle un peu compliquée

Re

Claude, comme je te l'ai dit dans ma réponse par mail, l'essai est concluant par collier.

Peux-tu poster le fichier allégé, version Sans Formules, afin qu'Anthax puisse se rendre compte de ce que cela donne ?

Amicalement

Nad

Bonjour à tous,

Version11 Allegée

https://www.excel-pratique.com/~files/doc2/Chevreuil11_allege.zip

La base est pratiquement vide, tu copie tes données et tu écrase en A3

ensuite, tu clique sur la flèche verte "Liste colliers" pour initialiser.

Bons tests

Amicalement

Claude.

re,

Astuce pour copier un grand nombre de ligne:

1) Sélectionner la dernière ligne

2) appuyer sur touche (flèche dessus Ctrl) et sans lacher cette touche,

à droite du clavier: Fin et flèche haut, tu redescend jusqu'à la 1ère ligne à copier,

là, tu as toute la sélection, Copier et ...

Claude.

Claude

Je n'ai pas dû tester sur les bons intervalles ou alors je n'avais pas les yeux en face des trous.

Je t'explique : dans ce dernier fichier, filtre sur 3 h

Lignes 1 2 3 4 ne devraient pas y être car on trouve en Decimal Time

0

6

12

18

On ne doit retrouver que des intervalles de 3 h, pas les autres. Tu vois ce que je veux dire ?

Amicalement

Nad

0classeur1.xlsx (12.93 Ko)

Merci Claude pour ce travail.

La remarque de Nad est correcte.

Maintenant, je comprends mieux ce que tu voulais dire par filtrer par collier... et ce n'est pas une bonne idée pour mes besoins ! J'ai plus de 200 animaux qui ont été équipés de collier GPS !!!

Et dans mon analyse, j'ai besoin par exemple de faire la moyenne des distances parcourures en 1 heure par un Cerf de Virginnie (White Tailed Deer ou WTD) en automne. Donc il me faut tous les colliers, et pas juste un !

Je filtre ça assez facilement avec Access...

... mais il me faut le fichier Excel de base qui me donne toutes les localisations de tous les chevreuils de toutes les espèces en toutes saisons... mais juste des localisations prises à 1 heure d'intervalle (par exemple).

J'en suis revenu à la formule dans Excel, celle pour laquelle NAD m'a bien aidé :

(la colonne M est ce que j'ai appelé "decimal_time ; en R1, je rentre l'intervalle de temps que je veux étudier, puis en R2, je rentre

R=IF(MOD(M2, $R$1)=0, 1, 0)

S=IF(SUMPRODUCT((Deeruid=B2)*(date+time=H2+L2+TIME($R$1,0,0))+(SUMPRODUCT((Deeruid=B2)*(date+time=H2+L2-TIME($R$1,0,0)))))>0, 1, 0)

T=S2*R2

Ca marche très bien, et j'ai en T exactement ce que je veux... mais c'est long.

Alors, j'ai changé ça : plutôt que de faire le SUMPRODUCT sur toute la plage Deeruid, j'ai défini une plage bien plus petite qui se situe 8 lignes après et 8 lignes avant, car à priori, s'il existe une localisation faite à un intervalle de X heures, X étant 4 au maximum, et ayant des localisations au mieux toutes les 1/2 heures, je trouverai forcément la localisation cherchée (s'il elle existe) dans cette plage réduite !

Voilà le résultat :

https://www.excel-pratique.com/~files/doc2/Chevreuils.xls

P.S : Pour la formule principale, regardez en S12 ; plus haut, la formule est modifiée pour des raisons évidentes (une fois que vous aurez vu ce que j'ai fait).

Je reviendrai peut-être à votre solution le jour où mon X dépassera 4, mais pour l'instant, j'avance avec ça !

Merci POUR TOUT (j'ai appris pleins de trucs !).

Amicalement,

Anthax

re,

Bon, et bien Nad je te repasse le bébé !

toujours prêt pour un coup de main.

Anthax, je ne pige pas ton raisonnement, imposer des intervales de temps sur des

colliers différents, je ne vois pas comment faire de façon rationnelle !!

Pour ma part, je jette l'éponge !

Amicalement

Claude.

En fait, je regarde un peu plus en détail ce fichier que tu as créé, Claude : c'est énorme le travail que tu as fait là-dessus !

Comme je suis au boulot, et que je dois avancer avec mon équipe, je ne peux pas voir ça plus en détail pour l'instant, et en attendant je progresse en utilisant ma version du fichier... (posté dans mon post précédent)

... mais je pense que ce soir, à la maison, je vais aprofondir ton fichier et voir un peu plus en détail cette histoire de filtres. A mon avis, il y a quelque chose à faire avec ça, et comme à l'avenir j'aurai sans doute besoin de faire le même genre de manip avec le même genre de données, je vais essayer d'apprendre un peu mieux !

Pour ce qui est des colliers, on ne doit pas se comprendre (ou plutôt je ne dois pas te comprendre) ! Je ne cherche pas des intervalles de temps sur des colliers différents (et c'est pourquoi sans ma formule avec le SUMPRODUCT il y a le Deeruid=B2 : il faut effectivement que ce soit le même animal), mais au final, il me faut dans un même fichier toutes les distances parcourures par TOUS les chevreuils, chacun à intervalles de temps réguliers.

Est-ce que c'est plus clair comme ça ?

As-tu regardé mon fichier dans le post précédent ?

Encore merci pour ton aide et ta bonne volonté.

Bonjour à tous,

J'avais pas dis mon dernier mot !

En regardant ton dernier fichier, la formule SommeProd. est donc réduite en lignes, ce

qui devrait accélérer les calculs.

Le hic, c'est qu'elle n'est pas identique dans les dix 1ères lignes (génant pour macro)

Si ma proposition te convient, on peut envisager de faire un panaché filtre + formule

Le but final étant de sortir les 1 de la colonne T

Confirme ?

https://www.excel-pratique.com/~files/doc2/Chevreuils_proposition1.xls

Bonne journée

Claude.

re,

Volà ce que çà donne,

J'ai exactement le même résultat que toi, il y a des zéros (comme toi) est-ce normal ?

https://www.excel-pratique.com/~files/doc2/Chevreuils_proposition2.xls

Claude.

Bonjour Claude,

Et on dit que les Basques sont butés ! Je vois que tu es comme moi : on va au bout des choses (ou du moins, on essaye)

De ce que j'ai testé dans ce dernier fichier, tout est OK. Les 0 sont normaux, puisque le test démarre à minuit. Par exemple pour la journée du 12 pour un filtrage de 3

Premier 0:00 OK puisqu'on a bien un prochain relevé à 3:00 le même jour pour le même DERRUIT

Deuxième 0:00 OK puisqu'il s'agit de 3:00 de plus par rapport à la journée du 12 (équivaut à 24:00)

Il n'y a pas le 0:00 de la journée du 15 car ni le jour d'avant, ni le prochain intervalle n'est égal à 3:00.

As-tu testé le temps de réponse sur les 120 000 lignes ?

A te relire

Amicalement

Nad

Bonjour Nad,

hé oui ! je ne lache pas le morceau comme çà,

donc tous les zéros sont Ok ?

Je n'ai pas le fichier de 120000 lignes mais sur 12500, deux secondes

Bonne journée

Claude.

édit: il faut copier les données en A13

(les lignes 3 à 12 sont fictives pour la formule

Re

Claude, je viens de tester sur les 12 000 lignes (j'avais mis un 0 de trop) et je n'atteins pas les 2 secondes.

Anthax, il n'est que 6h15 chez toi au moment où j'écris ce fil, mais quand tu auras tester le dernier fichier de Claude, vient nous dire si c'est bien cela que tu attends ou si quelque chose serait à ajouter.

Amicalement

Nad

Bonsoir à tous,

hors sujet, mais toujours mon problème d'ouverture fichiers .xlsm

Photos messages:

https://www.excel-pratique.com/~bigfiles/doc/OuvrirFichier.zip

C'est vraiment embêtant !

Claude.

Bonjour Claude

Le problème vient peut-être du choix dans l'ouverture des fichiers.

OUTILS ==> Options, onglet Application, j'ai "Toujours Demander" pour les 3 feuilles excel que tu vois dans l'image

3rzDzSans titre

Avec un peu de chance ....

Amicalement

Nad

Bonjour à tous, mais à mon avis, ce ne sera que Nadine et Claude, n'est-ce pas ?

Bien, ton dernier fichier est chouette, Claude. Joli, efficace... et rapide !

Sur 40 000 lignes, il prends en moyenne un peu moins de 10 sec sur ma machine...

Le hic, c'est que je ne parviens pas à y copier toutes mes données. D'ailleurs, à 40 000 lignes, si je cherche pour 1, 3 ou 4, ça passe, mais si je demande 2, j'ai un message d'erreur qui dit "erreur !ou pas de données".

A 50 000 lignes, j'ai ce même message quel soit le chiffre que je rentre en M1.

Même en le sauvant sous un format Excel 2007, ce message d'erreur persiste...

Mais je ne voudrais pas que tu continues de te casser trop la tête pour moi : j'ai réussi à sortir mes données, j'ai pu faire l'extraction dont j'avais besoin, donc si c'est trop prise de tête, ne t'en fais pas pour moi...

Quoiqu'il en soit, merci encore à vous deux pour votre aide précieuse ; j'imagine qu'on se "verra" encore, et je saurai où chercher de l'aide si jamais j'ai encore des besoins spécifiques dans Excel et que mes compétences limitées ne suffisent pas !

Au plaisir...

Bonjour à tous,

Nad, Anthax,

ton dernier fichier est chouette, Joli, efficace... et rapide !

Je ne suis pas sur que se soit la bonne version !

La bonne n'a qu'un seul bouton et un encadré notant les 10 lignes fictives.

Avant de copier tes données, il faudrait enregistrer sous Excel 2007 (peut-être)

Peux-tu envoyer à Nad tes données complètes afin que je vois où se produit l'erreur.

Mais je ne voudrais pas que tu continues de te casser trop la tête pour moi

C'est pas un casse-tête, c'est pour comprendre ce qui se passe.

Amicalement

Claude.

Pourquoi tu n'es pas sûr que ce soit la bonne version ?

Je répète : il est chouette, rapide, efficace, et même s'il y a qu'un seul bouton, sa simplicité améliore sa clarté !

Il y a quelqu'un qui dit que "c'est parfois difficile de faire simple"... et je pense que c'est une bonne réflexion !

J'ai enregistré le fichier dans un format 2007 avec Macro avant d'y copier mes données : cela ne marche pas.

Et non, je ne peux pas envoyer l'intégralité de mes données... La directrice du labo m'a déjà fait une réfléxion pour vous avoir envoyé une partie des données originales ! Tu sais, ces scientifiques, tant que leurs données n'ont pas été officiellement publiées, ils sont un peu paranos... Je sais, c'est idiot, mais bon...

Bonjour Anthony

Tu copies bien tes données à partir de la ligne 13 ?

Je te joins un fichier en .xlsm ; tu essayes de les copier sur celui-là.

Fichier

Amicalement

Nad

Edit pour Claude : le fichier envoyé est bien zippé ; ce n'est pas une erreur (on se comprend)

Bonsoir Nad, Anthony et à tous,

Si tu n'arrive pas à copier/coller tout d'un seul coup, (çà dépasse peut-être les capacités

du système ?),

Essaye en 2 ou 3 fois en faisant des repères.

Amicalement

Claude.

PS: Nad, nickel le Firefox.

Oui, je copie bien les données à partir de la cellule A13... Et cela n'a rien à voir avec les capacité du système, puisque je peux copier/coller ces même données ailleurs. Et puis si ça marche bien avec 40 000 lignes mais que ça bugue au delà, c'est sûrement que je fais ce qu'il faut et que ça vient non pas de moi, mais de la quantité de données, non ?

Excel Probleme
Rechercher des sujets similaires à "extraction conditionnelle peu compliquee"