Aide pour Macro de selection specifique de cellule

Bonjour,

Je viens sur votre forum pour demander de l'aide concernant la réalisation d'une macro. Malgré la lecture attentive du tutorial, par ailleurs très bien réalisé, je n'y arrive absolument pas.

Dans le cadre de mes études en doctorat, je dois analyser des milliers d'échantillons en chromatographie gazeuse.Les fichiers de résultats sortent sous format .csv, que j'ouvre sous Excel.

Dans le fichier exemple joint, voici a quoi ressemble mes fichiers de données.

Il y a ici 8 échantillons repartis chacun sur une ligne. (Mes fichiers en temps normal comptent plusieurs centaines de lignes)

Les chiffres au sein de chaque ligne correspondent à mes résultats. J'ai mis en couleurs ici ceux qui m’intéressent :

en rouge, il s'agit d'un temps auquel le pic de gaz est émis : ici je cherche entre 2.5 et 2.6 .

Ce temps se répète pour toutes les lignes.

Les chiffres en jaune, qui précède toujours ceux en rouge sont les tailles des pics de gazs. Ils varient en fonction des echantillons.

Besoin pour la macro :

A l'heure actuelle, je fais tout le travail à la main : je sélectionne mes deux cellules (jaune et rouge) et je copie colle dans une autre feuille.

Je voudrais que la macro scanne ma feuille et sélectionne toutes les cellules dont la valeur est comprise entre 2.5 et 2.6 ( En rouge dans l'exemple) ( je voudrais pouvoir definir cet intervalle ). Je veux qu'elle selectionne egalement toute les cellules situées une colonne avant les cellules que l'on vient de selectionner ( en jaune dans mon fichier )

Une fois selectionne, je pourrais copié mes resultats dans un autre fichier.

Je ne sais pas si ce type de macro est réalisable

Merci d'avance pour votre aide

27resultats.xlsx (9.63 Ko)

Bonsoir,

Les couleurs ne sont pas passées donc la compréhension est impossible.

Si tu nous donnes les repères de colonnes l'on pourra peut être faire quelque-chose.

Bonsoir à tous,

Peux tu faire manuellement une feuille avec les résultats attendus ?

(en + des couleurs)

Amicalement

Claude

merci je ne m'en etais pas appercu

les valeurs sont

jaune rouge

0.16511 2.53706

1.95788 2.53634

3.85495 2.53567

7.01867 2.53555

18.08252 2.53488

36.30287 2.53509

54.17751 2.53294

72.58273 2.53296

je fais la feuille mais ca ressemblerait a ca

EDIT : je modifie le fichier de depart avec couleur et resultat

-- 09 Juin 2011, 20:17 --

Voila le fichier initial a retrouvé des couleurs et j'ai mis en dessous les resultats attendus

merci

Bonsoir

Une version simple

Une simple version

Merci beaucoup,

cela semble fonctionner parfaitement et correspondre a mes besoins.

Pourrais tu m'expliquer ton code, même de façon très sommaire, que je progresse un peu ?

Set WsDest = Sheets("Feuil2")

Lg = 2

With WsDest

.Cells.ClearContents

For J = 4 To Range("B65536").End(xlUp).Row

.Cells(Lg, "A") = J - 3

.Cells(Lg, "B") = Cells(J, "B")

For Cl = 4 To Cells(J, "IV").End(xlToLeft).Column Step 2

If Val(Cells(J, Cl)) >= ValMini And Val(Cells(J, Cl)) <= ValMaxi Then

.Cells(Lg, "C") = Cells(J, Cl - 1)

.Cells(Lg, "D") = Cells(J, Cl)

End If

Next Cl

Lg = Lg + 1

Next J

End With

End Sub

merci

Bonjour

Quelques explications dans le code

Un grand merci a Banzai , tout fonctionne a merveille et avec les explications, c'est encore mieux.

Bonjour à tous,

Bonjour Banzai64,

je découvre grâce à ta macro, le fonction Val(...)

If Val(Cells(J, Cl)) >= 2.5 Then

Connaitrais-tu dans le même genre une fonction qui permettrait de remplacer la cellule

Cells(J, Cl) par le maxi de la colonne Cl ?

quelque chose du genre:

If Application.Max(Columns(Cl)) >= 2.5 Then

sachant que la colonne n'est pas en numérique.

Excusez l'intrusion sur le poste

Bonne journée

Amicalement

Claude

Bonjour Claude

Je ne comprends pas

Si la colonne n'est pas en numérique, la fonction te retourne 0 et le test ne se fait pas

Mais sans doute quelque chose m'échappe

Si tu peux donner un exemple de ce que tu veux à moins que quelqu'un d'autre qui n'a pas les neurones en vacances comprendra

A te lire

re,

C'était juste une question, comme çà !

je pensais que peut-être en ajoutant ce fameux "Val(...)" quelque part,

on aurai pu tester le max d'une colonne (en non numérique)

Plus rien ne m'étonne vraiment dans les capacités d'Excel, alors pourquoi pas !

donc, je laisse tomber.

merci Banzai

Claude

Bonjour à tous,

Autre solution,

ici je traite des filtres élaborés sur les colonnes (en boucle )

cette méthode devrait être + rapide, surtout si il y a beaucoup de lignes

Ci-joint 2 fichiers

  • le 1er traite toutes les colonnes
  • la 2ème version ne traite que les colonnes dont le maxi est >= à 2,5
cette dernière renvoie des résultats en numérique (çà peut servir)

papaalien,

Dis-nous si la différence de temps de traitement est sensible sur les 3 versions. (sur fichier réel)

Amicalement

Claude

Rechercher des sujets similaires à "aide macro selection specifique"