Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1473 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide pour une macro sous Excel :(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour une macro sous Excel :(

n°2040043
soruah
Posté le 04-12-2010 à 17:52:57  profilanswer
 

Bonjour,  
Actuellement en master d'hydrogéologie, on doit effectué pour une étude de cas un traitement de données.
J'ai pour cela des tableaux de mesures qui se composent de la sorte :  
Date au format : jj/mm/an h:min:s (exemple "06/07/2008  01:00:00"  )    /      Température     /     Hauteur
Ces tableaux contiennent énormément de valeurs (16500 lignes).
Il faudrait que je puisse sélectionner toutes les lignes de dont l'heure est de 12:00:00, et si possible les placer dans une nouvelle feuille.  
Je ne connais rien du tout aux macros, dont je m'en remets à vous ... sinon je devrais faire ca en mode manuel ;'(

mood
Publicité
Posté le 04-12-2010 à 17:52:57  profilanswer
 

n°2040060
otobox
Maison fondée en 2005
Posté le 04-12-2010 à 23:01:22  profilanswer
 

Pas besoin de macro pour ça :o
 
Tu mets un filtre automatique et tu filtres sur la colonne des heures ;)


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°2040061
otobox
Maison fondée en 2005
Posté le 04-12-2010 à 23:05:46  profilanswer
 

Code :
  1. Sub Macro1()
  2. '
  3. ' Macro1 Macro
  4. ' Macro enregistrée le 04/12/2010 par OtObOx
  5. '
  6. '
  7.     Columns("A:C" ).Select
  8.     Selection.AutoFilter
  9.     Selection.AutoFilter Field:=1, Criteria1:="=*12:00:00", Operator:=xlAnd
  10. End Sub


 
Voilà :)


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°2040356
soruah
Posté le 06-12-2010 à 19:01:11  profilanswer
 

Bonsoir,
He bien tout d'abord, merci de vos réponses.
Alors entre temps j'ai bidouillé quelque chose de complètement déguelasse, qui me prend pas mal de temps.
J'ai ensuite essayé ta macro otobox.
C'est exactement ce que je veux.
Par contre j'ai un autre soucis :(
http://nsa20.casimages.com/img/2010/12/06/mini_101206065734295888.jpg
 
L'image est petite mais c'est clicable pour se rendre compte.
En fait il est possible que les champs se répètent.
Pour modifier ca dans ta macro, au lieux de mettre "A;C", je peux en mettre plusieurs ? genre "A;C"D;F" ? (j'ai essayé en vain)
Il est aussi possible que l'heure diffère en fait. Le mieux serait de prendre les heures du genre 12:xx:xx. A la place de 12:00:00, je peux mettre quoi ?  
 Et pour finir, mais la ca peut être compliqué :D
Une fois j'ai le tableau "trié", je devrais arriver à un truc du style :  
xx/xx/xx 12:xx:xx                   ||||         Hauteurs
 
Le but ensuite est de voir si j'ai des séries complètes. Je m'expliques, il est possible d'avoir des données abscentes certains jours.
Avec une condition du genre si case actuelle(au niveau date/heure) n'est pas égale a la case d'avant + 1 jour alors émettre un message ou mettre en valeur cette localisation ?
 
J'ai l'air un peu ridicule, mais le problème vient de la quantité de données à traitée que j'ai. A la main, c'est du mission impossible :'(
Merci de votre aide.

Message cité 1 fois
Message édité par soruah le 06-12-2010 à 19:09:12
n°2040364
otobox
Maison fondée en 2005
Posté le 06-12-2010 à 19:32:36  profilanswer
 

soruah a écrit :

Bonsoir,
He bien tout d'abord, merci de vos réponses.
Alors entre temps j'ai bidouillé quelque chose de complètement déguelasse, qui me prend pas mal de temps.
J'ai ensuite essayé ta macro otobox.
C'est exactement ce que je veux.
Par contre j'ai un autre soucis :(
http://nsa20.casimages.com/img/201 [...] 295888.jpg

 

L'image est petite mais c'est clicable pour se rendre compte.
En fait il est possible que les champs se répètent.
Pour modifier ca dans ta macro, au lieux de mettre "A;C", je peux en mettre plusieurs ? genre "A;C"D;F" ? (j'ai essayé en vain)
Il est aussi possible que l'heure diffère en fait. Le mieux serait de prendre les heures du genre 12:xx:xx. A la place de 12:00:00, je peux mettre quoi ?
 Et pour finir, mais la ca peut être compliqué :D
Une fois j'ai le tableau "trié", je devrais arriver à un truc du style :
xx/xx/xx 12:xx:xx                   ||||         Hauteurs

 

Le but ensuite est de voir si j'ai des séries complètes. Je m'expliques, il est possible d'avoir des données abscentes certains jours.
Avec une condition du genre si case actuelle(au niveau date/heure) n'est pas égale a la case d'avant + 1 jour alors émettre un message ou mettre en valeur cette localisation ?

 

J'ai l'air un peu ridicule, mais le problème vient de la quantité de données à traitée que j'ai. A la main, c'est du mission impossible :'(
Merci de votre aide.


Si les données ne sont pas organisée en une seule liste et, comme ici, organisées en plusieurs listes, les filtres automatiques ne fonctionnent plus.
Tu peux copier-coller les colonnes  supplémentaires sous la première colonne de façon à n'avoir qu'une seule liste.

 

Sinon le caractère * remplace n'importe quel caractère. Ainsi, tu fais :

Criteria1:="=*12:*:00"


tu auras toutes les données entre 12:00 et 12:59, à condition que ça soit la minute juste (= 00 secondes).

 

Pour le reste, il faudrait effectivement passer par des macros, à moins que la mise en page conditionnelle puisse te venir en aide.

 

Dans chaque fichier, combien de lignes as tu à traiter ? Comment reçois-tu tes données ? Directement au format excel ou en fichier texte à importer ? As-tu ce besoin ponctuellement (ce qui semble le cas et là tu bricoles directement sur Excel) ou vas-tu trier ces données régulièrement (auquel cas les macros deviennent utiles) ?

 

Si c'est pour une étude ponctuelle, le plus simple est de se servir des fonctions offertes par Excel : copier-coller/filtre automatique/formules de calcul cachées.


Message édité par otobox le 06-12-2010 à 19:37:40

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°2040366
soruah
Posté le 06-12-2010 à 19:37:53  profilanswer
 

Alors, tout d'abord encore merci de ton aide rapide.
Ceci va être un traitement ponctuel.
Je dois le réaliser sur 6 fichiers. Ces fichiers renferment des mesures ponctuelles toutes les heures, ou toutes les 30min, ou toutes les 15min, et ca depuis 2000 à 2010.
Ce qui me fait un p'tit paquet de ligne non négligeables : aux alentours de 70 000 lignes sur plusieurs colonnes qui se répètent comme dans l'exemple précédent que j'ai mis en ligne.
 
J'ai essayé de modifier le filtre en mettant 12 : ?? : ??, mais ca a pas marché, j'vais essayé avec ta méthode.
Sinon, les 6 fichiers que j'ai, sont des fichiers excel.


Message édité par soruah le 06-12-2010 à 19:39:53
n°2040393
otobox
Maison fondée en 2005
Posté le 06-12-2010 à 22:17:29  profilanswer
 

Il me semble que la limite d'Excel c'est un peu plus de 65000 lignes. Dans ce cas là, ce que je ferais c'est couper-coller tes séries de colonnes dans des onglets. Ensuite filtres automatiques après avoir rajouté des colonnes supplémentaires qui testeraient les données manquantes.

 

Ou alors, tu importes tes données dans une base Access et tu filtres avec des requêtes.


Message édité par otobox le 06-12-2010 à 22:19:51

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide pour une macro sous Excel :(

 

Sujets relatifs
Besoin d'aide sur une macro Excelaide pour macro excel
gestion de fichiers excel à l'aide d'une macro spécifiqueAide pour une macro excel
[VBA / Excel] Aide sur une macro a programmermacro excel pour copier et trier des colonnes : aide débutant
aide pour macro excelAide pour une macro excel
excel aide macro pr comparer des lignesBesoin d'aide macro sur excel
Plus de sujets relatifs à : Aide pour une macro sous Excel :(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR