Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA Excel Selection de cellule sous condition

7 réponses
Avatar
gwencab
Bonjour,
Bonjour,

Bonne année à tous ...

Je dois construire une macro Excel et je ne l'ai jamais fait de programmation. Pour commencer ma macro, j'ai utilisé l'enregistreur de macro. Par contre, je suis bloqué pour la suite.

Voici la problématique, nous avons un enregistreur qui exporte les voies de mesure au format txt (A, B, C, D, E). Nous faisons 10 cycles et l'ensemble des données s'inscrive l'un après l'autre. A l'heure actuelle, j'ai copié la colonne C et E dans une nouvelle feuille et je dois traiter les données pour tracer les courbes sur une même graphique. Les données se présentent de la façon suivante :

A B
--------
Bloc de données ayant un nombre de ligne variable
--------
Valeur négative dans la colonne A et positive dans la colonne B (nombre de ligne variable)
--------
Bloc de données ayant un nombre de ligne variable
--------
Valeur négative dans la colonne A et positive dans la colonne B (nombre de ligne variable)
--------
Etc...

Les valeurs sur une même ligne sont liées.

Nous avons 10 blocs de données.

J'aimerai que la macro copie les blocs de données et les colle dans des colonnes différentes en effaçant les lignes ayant des valeurs négative dans la colonne A.
Exemple : colonne A&B = bloc 1, colonne C&D= bloc 2, ..., colonneS&T=bloc10 sans garder les valeurs négatives

Mon idée est de chercher la première valeur négative dans la colonne A, de sélectionner les cellules et la première cellule à droite jusqu'en bas, de couper cette sélection et de la coller sur la deuxième ligne de la colonne CetD.
Dans la colonne C et D, d'effacer les cellules dans les colonnes CetD (les données sont liées) ayant une valeur négative dans la colonne C.

Puis de refaire cette opération pour tous les blocs.


Je ne sais pas si c'est la bonne démarche.

Pouvez-vous m'aider à construire cette macro? A l'heure actuelle, je suis parvenu à trouver la première valeur négative dans la colonne A. C'est pour dire que je pars de loin.

Merci de votre aide

7 réponses

Avatar
michdenis
Bonjour,

Poser une question, ce n'est pas un exercice de littérature !

Tes données sont dans un fichier .txt ou Excel ?
A ) si dans un fichier Texte : Quel est le séparateur entre chacune de tes données ?
Le TAB, la virgule, le point virgule, l'espace ? Autre chose ?

B ) si données dans un fichier Excel, tes données se retrouvent où dans
la feuille de calcul ? Une feuille de calcul, ce n'est pas abstrait, tu as
des adresses (lignes, colonnes) il faut t'en servir !!!!!!!!!!!!!

Pour A et B, comment sont disposées les données ? Une ligne à la suite de l'autre ?

C ) Que veux-tu faire avec ces données ? Les exporter ? OÙ ? Nom de la feuille, du classeur
à partir de quelle adresse de cellules ?

Conclusion : Je n'ai rien compris de ce que tu veux faire...


MichD
--------------------------------------------
Avatar
gwencab
michdenis a écrit le 06/01/2011 à 20h27 :
Bonjour,

Poser une question, ce n'est pas un exercice de littérature !

Tes données sont dans un fichier .txt ou Excel ?
A ) si dans un fichier Texte : Quel est le séparateur entre chacune de
tes données ?
Le TAB, la virgule, le point virgule, l'espace ? Autre chose ?

B ) si données dans un fichier Excel, tes données se retrouvent
où dans
la feuille de calcul ? Une feuille de calcul, ce n'est pas abstrait, tu as
des adresses (lignes, colonnes) il faut t'en servir !!!!!!!!!!!!!

Pour A et B, comment sont disposées les données ? Une ligne
à la suite de l'autre ?

C ) Que veux-tu faire avec ces données ? Les exporter ? OÙ ? Nom
de la feuille, du classeur
à partir de quelle adresse de cellules ?

Conclusion : Je n'ai rien compris de ce que tu veux faire...


MichD
--------------------------------------------


Bonjour,

Merci pour les commentaires. Comme tu as pu le remarquer, je ne suis pas très au fait de ce genre de question et j’apprends à programmer (en tout cas sur Excel).

Mes données sont dans un fichier .txt que j’ai importé dans Excel (opération manuelle). Le séparateur est une Tabulation. Un fois les données importées, le fichier Excel se compose d’un seul onglet avec le nom du fichier .txt.

Fichiers text :

03/12/2010 50:40.3
Intervalle Date Heure T1 T2 T3 T4 T5 T6 Cnal1 Cnal2 Cnal3 Cnal4

0.6 03/12/2010 50:40.9 0 0 0 0 0 0 141 13 0 -0.036
526.4 03/12/2010 59:26.7 0 0 0 0 0 0 144 17 0.6 0.013
526.6 03/12/2010 59:26.8 0 0 0 0 0 0 144 17 0.6 0.013
…/...
622.4 03/12/2010 01:02.7 0 0 0 0 0 0 0 1803 1.8 0.38
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623.2 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.3 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.4 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.5 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.8 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.9 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.3 03/12/2010 01:04.5 0 0 0 0 0 0 -1 622 1.8 0.129
624.5 03/12/2010 01:04.8 0 0 0 0 0 0 -1 495 0.5 0.466
624.7 03/12/2010 01:05.0 0 0 0 0 0 0 -1 175 0.1 -1.899
1585.1 03/12/2010 17:06.3 0 0 0 0 0 0 165 25 0.6 0.019
…/…
1704.9 03/12/2010 19:05.1 0 0 0 0 0 0 0 1799 1.8 0.39


L’idée est copier la colonne J (Cnal2) et M (Cnal4) dans un nouvel onglet appelé traitement (cette opération a été fait avec l’enregistreur).

Il y a entre 5 et 10 cycles (fixé par l’essai). La valeur dans J correspond à une vitesse et dans M une valeur de force correspondant. L’idée est de tracer la force en fonction de la vitesse.

Dans l’onglet traitement, la colonne Cnal2 se retrouve dans la colonne A et la colonne Cnal4 dans la colonne B suivant cette forme.

A B
Cnal 2 Cnal4

Données (v diminue,794 Lig) F (749Lig)
Valeur négative (18Lig) Valeur aberrante (18Lig)
Données (600Lig) F (600Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Données (950 Lig) F (950 Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Etc … ;

Le nombre de ligne pour les données est proportionnel à la vitesse (donc toujours variable). En ce qui concerne les valeurs aberrantes, le nombre de ligne est variable, correspondant au refroidissement.

L’idée de la macro est présenter les résultats sous cette forme
Cnal 2 Cnal4 Cnal 2 Cnal4 Cnal 2 Cnal4 Etc…

Données F Données F Données F Etc…


Voilà j’espère avoir été plus clair.

En tout cas merci pour les commentaires
Avatar
Jacquouille
Bonjour
Je crois que le plus simple, c'est de mettre ton fichier (expurgé des
données confidentielles) sur CJOINT.COM car si Denis n'a rien compris à ton
problème, il ne seront pas légion à le faire.
Ensuite, tu poses une question claire, très claire. -)
Et tu publies le lien ici.

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille (MPFE).

"gwencab" a écrit dans le message de news:

michdenis a écrit le 06/01/2011 à 20h27 :
Bonjour,

Poser une question, ce n'est pas un exercice de littérature !

Tes données sont dans un fichier .txt ou Excel ?
A ) si dans un fichier Texte : Quel est le séparateur entre chacune de
tes données ?
Le TAB, la virgule, le point virgule, l'espace ? Autre chose ?

B ) si données dans un fichier Excel, tes données se retrouvent
où dans
la feuille de calcul ? Une feuille de calcul, ce n'est pas abstrait, tu
as
des adresses (lignes, colonnes) il faut t'en servir !!!!!!!!!!!!!

Pour A et B, comment sont disposées les données ? Une ligne
à la suite de l'autre ?

C ) Que veux-tu faire avec ces données ? Les exporter ? OÙ ? Nom
de la feuille, du classeur
à partir de quelle adresse de cellules ?

Conclusion : Je n'ai rien compris de ce que tu veux faire...


MichD
--------------------------------------------


Bonjour,

Merci pour les commentaires. Comme tu as pu le remarquer, je ne suis pas
très
au fait de ce genre de question et j’apprends à programmer (en tout cas
sur
Excel).

Mes données sont dans un fichier .txt que j’ai importé dans Excel
(opération
manuelle). Le séparateur est une Tabulation. Un fois les données
importées, le
fichier Excel se compose d’un seul onglet avec le nom du fichier .txt.

Fichiers text :

03/12/2010 50:40.3
Intervalle Date Heure T1 T2 T3 T4 T5 T6 Cnal1 Cnal2 Cnal3 Cnal4

0.6 03/12/2010 50:40.9 0 0 0 0 0 0 141 13 0 -0.036
526.4 03/12/2010 59:26.7 0 0 0 0 0 0 144 17 0.6 0.013
526.6 03/12/2010 59:26.8 0 0 0 0 0 0 144 17 0.6 0.013
…/...
622.4 03/12/2010 01:02.7 0 0 0 0 0 0 0 1803 1.8 0.38
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623.2 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.3 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.4 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.5 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.8 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.9 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.3 03/12/2010 01:04.5 0 0 0 0 0 0 -1 622 1.8 0.129
624.5 03/12/2010 01:04.8 0 0 0 0 0 0 -1 495 0.5 0.466
624.7 03/12/2010 01:05.0 0 0 0 0 0 0 -1 175 0.1 -1.899
1585.1 03/12/2010 17:06.3 0 0 0 0 0 0 165 25 0.6 0.019
…/…
1704.9 03/12/2010 19:05.1 0 0 0 0 0 0 0 1799 1.8 0.39


L’idée est copier la colonne J (Cnal2) et M (Cnal4) dans un nouvel onglet
appelé traitement (cette opération a été fait avec l’enregistreur).

Il y a entre 5 et 10 cycles (fixé par l’essai). La valeur dans J
correspond à
une vitesse et dans M une valeur de force correspondant. L’idée est de
tracer la
force en fonction de la vitesse.

Dans l’onglet traitement, la colonne Cnal2 se retrouve dans la colonne A
et la
colonne Cnal4 dans la colonne B suivant cette forme.

A B
Cnal 2 Cnal4

Données (v diminue,794 Lig) F (749Lig)
Valeur négative (18Lig) Valeur aberrante (18Lig)
Données (600Lig) F (600Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Données (950 Lig) F (950 Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Etc … ;

Le nombre de ligne pour les données est proportionnel à la vitesse (donc
toujours variable). En ce qui concerne les valeurs aberrantes, le nombre
de
ligne est variable, correspondant au refroidissement.

L’idée de la macro est présenter les résultats sous cette forme
Cnal 2 Cnal4 Cnal 2 Cnal4 Cnal 2 Cnal4 Etc…

Données F Données F Données F
Etc…


Voilà j’espère avoir été plus clair.

En tout cas merci pour les commentaires
Avatar
gwencab
Jacquouille a écrit le 07/01/2011 à 12h00 :
Bonjour
Je crois que le plus simple, c'est de mettre ton fichier (expurgé des
données confidentielles) sur CJOINT.COM car si Denis n'a rien compris
à ton
problème, il ne seront pas légion à le faire.
Ensuite, tu poses une question claire, très claire. -)
Et tu publies le lien ici.

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille (MPFE).

"gwencab" a écrit dans le
message de news:

michdenis a écrit le 06/01/2011 à 20h27 :
Bonjour,

Poser une question, ce n'est pas un exercice de littérature !

Tes données sont dans un fichier .txt ou Excel ?
A ) si dans un fichier Texte : Quel est le séparateur entre chacune de
tes données ?
Le TAB, la virgule, le point virgule, l'espace ? Autre chose ?

B ) si données dans un fichier Excel, tes données se retrouvent
où dans
la feuille de calcul ? Une feuille de calcul, ce n'est pas abstrait, tu
as
des adresses (lignes, colonnes) il faut t'en servir !!!!!!!!!!!!!

Pour A et B, comment sont disposées les données ? Une ligne
à la suite de l'autre ?

C ) Que veux-tu faire avec ces données ? Les exporter ? OÙ ?
Nom
de la feuille, du classeur
à partir de quelle adresse de cellules ?

Conclusion : Je n'ai rien compris de ce que tu veux faire...


MichD
--------------------------------------------



Bonjour,

Merci pour les commentaires. Comme tu as pu le remarquer, je ne suis pas
très
au fait de ce genre de question et j’apprends à programmer (en
tout cas
sur
Excel).

Mes données sont dans un fichier .txt que j’ai importé
dans Excel
(opération
manuelle). Le séparateur est une Tabulation. Un fois les données
importées, le
fichier Excel se compose d’un seul onglet avec le nom du fichier .txt.

Fichiers text :

03/12/2010 50:40.3
Intervalle Date Heure T1 T2 T3 T4 T5 T6 Cnal1 Cnal2 Cnal3 Cnal4

0.6 03/12/2010 50:40.9 0 0 0 0 0 0 141 13 0 -0.036
526.4 03/12/2010 59:26.7 0 0 0 0 0 0 144 17 0.6 0.013
526.6 03/12/2010 59:26.8 0 0 0 0 0 0 144 17 0.6 0.013
…/...
622.4 03/12/2010 01:02.7 0 0 0 0 0 0 0 1803 1.8 0.38
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623.2 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.3 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.4 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.5 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.8 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.9 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.3 03/12/2010 01:04.5 0 0 0 0 0 0 -1 622 1.8 0.129
624.5 03/12/2010 01:04.8 0 0 0 0 0 0 -1 495 0.5 0.466
624.7 03/12/2010 01:05.0 0 0 0 0 0 0 -1 175 0.1 -1.899
1585.1 03/12/2010 17:06.3 0 0 0 0 0 0 165 25 0.6 0.019
…/…
1704.9 03/12/2010 19:05.1 0 0 0 0 0 0 0 1799 1.8 0.39


L’idée est copier la colonne J (Cnal2) et M (Cnal4) dans un
nouvel onglet
appelé traitement (cette opération a été fait avec
l’enregistreur).

Il y a entre 5 et 10 cycles (fixé par l’essai). La valeur dans J
correspond à
une vitesse et dans M une valeur de force correspondant. L’idée
est de
tracer la
force en fonction de la vitesse.

Dans l’onglet traitement, la colonne Cnal2 se retrouve dans la colonne A
et la
colonne Cnal4 dans la colonne B suivant cette forme.

A B
Cnal 2 Cnal4

Données (v diminue,794 Lig) F (749Lig)
Valeur négative (18Lig) Valeur aberrante (18Lig)
Données (600Lig) F (600Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Données (950 Lig) F (950 Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Etc … ;

Le nombre de ligne pour les données est proportionnel à la
vitesse (donc
toujours variable). En ce qui concerne les valeurs aberrantes, le nombre
de
ligne est variable, correspondant au refroidissement.

L’idée de la macro est présenter les résultats sous
cette forme
Cnal 2 Cnal4 Cnal 2 Cnal4 Cnal 2 Cnal4 Etc…

Données F Données F Données
F
Etc…


Voilà j’espère avoir été plus clair.

En tout cas merci pour les commentaires




Bonjour,

Merci pour le lien.
Mes fichiers d'acquisition sont sous cette forme :
http://cjoint.com/?2bhptPLqvn

Au final, j'aimerai avoir une fichier Excel de ce type.
http://cjoint.com/?2bhpCNxuxLZ

A l'heure actuelle, la macro crée la mise en page de l'onglet "traitement" colle les données de la colonne Cnal2 et Cnal4. Et j'arrive à trouver la première valeur inférieure ou égale à 0 (fichier obtenu avec mon code http://cjoint.com/?2bhpKGQbQHC).

Ce que je n'arrive pas, c'est sélectionner toutes les cellules et celle d'à coté et les coller dans les colonnes C et D (nommé Cnal2 et Cnal4-2).

La boucle suivante consistera à sélectionner les données dans la colonne C et D ayant des données négatives dans les 40 premières ligne de la colonne C et de les effacer.

Pouvez-vous m'aider à faire ces deux boucles ?

Merci
Avatar
michdenis
Bonjour,

Que dis-tu de ceci :

'-----------------------------------------------
Sub test()

'Supposons que les données soient dans la feuille
'dont le nom de l'onglet est : Sheet2
With worsksheets("Sheet2")
.Range("J1:J" & .Range("J65536").End(xlUp).Row).Copy _
'Sheet3 est le nom de la feuille de destination
Worksheets("Feuil3").Range ("A1")
.Range("M1:M" & .Range("M65536").End(xlUp).Row).Copy _
'Sheet3 est le nom de la feuille de destination
Worksheets("Feuil3").Range ("B1")
End With

'Pour chacune des plages de cellules des 2 colonnes A et B
'Tu leur attribues des noms (insertion/nom/définir)
'Tu utilises ces noms comme source de tes séries de données.
'À chaque fois que tu exécuteras cette macro, les graphes
'utilisant ces "NOMS" comme source se mettront à jour.
With Worksheets("Sheet3")
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Name = "Cnal2"
.Range("B1:B" & .Range("B65536").End(xlUp).Row).Name = "Cnal4"
End With
End Sub
'-----------------------------------------------



MichD
--------------------------------------------
"gwencab" a écrit dans le message de groupe de discussion :

michdenis a écrit le 06/01/2011 à 20h27 :
Bonjour,

Poser une question, ce n'est pas un exercice de littérature !

Tes données sont dans un fichier .txt ou Excel ?
A ) si dans un fichier Texte : Quel est le séparateur entre chacune de
tes données ?
Le TAB, la virgule, le point virgule, l'espace ? Autre chose ?

B ) si données dans un fichier Excel, tes données se retrouvent
où dans
la feuille de calcul ? Une feuille de calcul, ce n'est pas abstrait, tu as
des adresses (lignes, colonnes) il faut t'en servir !!!!!!!!!!!!!

Pour A et B, comment sont disposées les données ? Une ligne
à la suite de l'autre ?

C ) Que veux-tu faire avec ces données ? Les exporter ? OÙ ? Nom
de la feuille, du classeur
à partir de quelle adresse de cellules ?

Conclusion : Je n'ai rien compris de ce que tu veux faire...


MichD
--------------------------------------------


Bonjour,

Merci pour les commentaires. Comme tu as pu le remarquer, je ne suis pas très
au fait de ce genre de question et j’apprends à programmer (en tout cas sur
Excel).

Mes données sont dans un fichier .txt que j’ai importé dans Excel (opération
manuelle). Le séparateur est une Tabulation. Un fois les données importées, le
fichier Excel se compose d’un seul onglet avec le nom du fichier .txt.

Fichiers text :

03/12/2010 50:40.3
Intervalle Date Heure T1 T2 T3 T4 T5 T6 Cnal1 Cnal2 Cnal3 Cnal4

0.6 03/12/2010 50:40.9 0 0 0 0 0 0 141 13 0 -0.036
526.4 03/12/2010 59:26.7 0 0 0 0 0 0 144 17 0.6 0.013
526.6 03/12/2010 59:26.8 0 0 0 0 0 0 144 17 0.6 0.013
…/...
622.4 03/12/2010 01:02.7 0 0 0 0 0 0 0 1803 1.8 0.38
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623.2 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.3 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.4 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.5 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.8 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.9 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.3 03/12/2010 01:04.5 0 0 0 0 0 0 -1 622 1.8 0.129
624.5 03/12/2010 01:04.8 0 0 0 0 0 0 -1 495 0.5 0.466
624.7 03/12/2010 01:05.0 0 0 0 0 0 0 -1 175 0.1 -1.899
1585.1 03/12/2010 17:06.3 0 0 0 0 0 0 165 25 0.6 0.019
…/…
1704.9 03/12/2010 19:05.1 0 0 0 0 0 0 0 1799 1.8 0.39


L’idée est copier la colonne J (Cnal2) et M (Cnal4) dans un nouvel onglet
appelé traitement (cette opération a été fait avec l’enregistreur).

Il y a entre 5 et 10 cycles (fixé par l’essai). La valeur dans J correspond à
une vitesse et dans M une valeur de force correspondant. L’idée est de tracer la
force en fonction de la vitesse.

Dans l’onglet traitement, la colonne Cnal2 se retrouve dans la colonne A et la
colonne Cnal4 dans la colonne B suivant cette forme.

A B
Cnal 2 Cnal4

Données (v diminue,794 Lig) F (749Lig)
Valeur négative (18Lig) Valeur aberrante (18Lig)
Données (600Lig) F (600Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Données (950 Lig) F (950 Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Etc … ;

Le nombre de ligne pour les données est proportionnel à la vitesse (donc
toujours variable). En ce qui concerne les valeurs aberrantes, le nombre de
ligne est variable, correspondant au refroidissement.

L’idée de la macro est présenter les résultats sous cette forme
Cnal 2 Cnal4 Cnal 2 Cnal4 Cnal 2 Cnal4 Etc…

Données F Données F Données F
Etc…


Voilà j’espère avoir été plus clair.

En tout cas merci pour les commentaires
Avatar
michdenis
Dans ton fichier exemple,

la première ligne de la feuille "Traitement" se présente ainsi :

Cnal1 Cnal4-1 Cnal1 Cnal4-2 Cnal1 Cnal4-3 Cnal1 Cnal4-4 Cnal1 Cnal4-5 Cnal1 Cnal4-6
Cnal1 Cnal4-7

Dans l'onglet N1-N10, tu as seulement ceci :
Cnal1 Cnal2 Cnal3 Cnal4

Les données de Cnal4-1 , Cnal4-2 , Cnal4-3 , Cnal4-4 etc
où sont-elles situées ? Comment les trouves-tu si elles ne sont pas dans la feuille ?


MichD
--------------------------------------------
"gwencab" a écrit dans le message de groupe de discussion :

Jacquouille a écrit le 07/01/2011 à 12h00 :
Bonjour
Je crois que le plus simple, c'est de mettre ton fichier (expurgé des
données confidentielles) sur CJOINT.COM car si Denis n'a rien compris
à ton
problème, il ne seront pas légion à le faire.
Ensuite, tu poses une question claire, très claire. -)
Et tu publies le lien ici.

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille (MPFE).

"gwencab" a écrit dans le
message de news:

michdenis a écrit le 06/01/2011 à 20h27 :
Bonjour,

Poser une question, ce n'est pas un exercice de littérature !

Tes données sont dans un fichier .txt ou Excel ?
A ) si dans un fichier Texte : Quel est le séparateur entre chacune de
tes données ?
Le TAB, la virgule, le point virgule, l'espace ? Autre chose ?

B ) si données dans un fichier Excel, tes données se retrouvent
où dans
la feuille de calcul ? Une feuille de calcul, ce n'est pas abstrait, tu
as
des adresses (lignes, colonnes) il faut t'en servir !!!!!!!!!!!!!

Pour A et B, comment sont disposées les données ? Une ligne
à la suite de l'autre ?

C ) Que veux-tu faire avec ces données ? Les exporter ? OÙ ?
Nom
de la feuille, du classeur
à partir de quelle adresse de cellules ?

Conclusion : Je n'ai rien compris de ce que tu veux faire...


MichD
--------------------------------------------



Bonjour,

Merci pour les commentaires. Comme tu as pu le remarquer, je ne suis pas
très
au fait de ce genre de question et j’apprends à programmer (en
tout cas
sur
Excel).

Mes données sont dans un fichier .txt que j’ai importé
dans Excel
(opération
manuelle). Le séparateur est une Tabulation. Un fois les données
importées, le
fichier Excel se compose d’un seul onglet avec le nom du fichier .txt.

Fichiers text :

03/12/2010 50:40.3
Intervalle Date Heure T1 T2 T3 T4 T5 T6 Cnal1 Cnal2 Cnal3 Cnal4

0.6 03/12/2010 50:40.9 0 0 0 0 0 0 141 13 0 -0.036
526.4 03/12/2010 59:26.7 0 0 0 0 0 0 144 17 0.6 0.013
526.6 03/12/2010 59:26.8 0 0 0 0 0 0 144 17 0.6 0.013
…/...
622.4 03/12/2010 01:02.7 0 0 0 0 0 0 0 1803 1.8 0.38
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623.2 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.3 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.4 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.5 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.8 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.9 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.3 03/12/2010 01:04.5 0 0 0 0 0 0 -1 622 1.8 0.129
624.5 03/12/2010 01:04.8 0 0 0 0 0 0 -1 495 0.5 0.466
624.7 03/12/2010 01:05.0 0 0 0 0 0 0 -1 175 0.1 -1.899
1585.1 03/12/2010 17:06.3 0 0 0 0 0 0 165 25 0.6 0.019
…/…
1704.9 03/12/2010 19:05.1 0 0 0 0 0 0 0 1799 1.8 0.39


L’idée est copier la colonne J (Cnal2) et M (Cnal4) dans un
nouvel onglet
appelé traitement (cette opération a été fait avec
l’enregistreur).

Il y a entre 5 et 10 cycles (fixé par l’essai). La valeur dans J
correspond à
une vitesse et dans M une valeur de force correspondant. L’idée
est de
tracer la
force en fonction de la vitesse.

Dans l’onglet traitement, la colonne Cnal2 se retrouve dans la colonne A
et la
colonne Cnal4 dans la colonne B suivant cette forme.

A B
Cnal 2 Cnal4

Données (v diminue,794 Lig) F (749Lig)
Valeur négative (18Lig) Valeur aberrante (18Lig)
Données (600Lig) F (600Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Données (950 Lig) F (950 Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Etc … ;

Le nombre de ligne pour les données est proportionnel à la
vitesse (donc
toujours variable). En ce qui concerne les valeurs aberrantes, le nombre
de
ligne est variable, correspondant au refroidissement.

L’idée de la macro est présenter les résultats sous
cette forme
Cnal 2 Cnal4 Cnal 2 Cnal4 Cnal 2 Cnal4 Etc…

Données F Données F Données
F
Etc…


Voilà j’espère avoir été plus clair.

En tout cas merci pour les commentaires




Bonjour,

Merci pour le lien.
Mes fichiers d'acquisition sont sous cette forme :
http://cjoint.com/?2bhptPLqvn

Au final, j'aimerai avoir une fichier Excel de ce type.
http://cjoint.com/?2bhpCNxuxLZ

A l'heure actuelle, la macro crée la mise en page de l'onglet "traitement"
colle les données de la colonne Cnal2 et Cnal4. Et j'arrive à trouver la
première valeur inférieure ou égale à 0 (fichier obtenu avec mon code
http://cjoint.com/?2bhpKGQbQHC).

Ce que je n'arrive pas, c'est sélectionner toutes les cellules et celle d'à
coté et les coller dans les colonnes C et D (nommé Cnal2 et Cnal4-2).

La boucle suivante consistera à sélectionner les données dans la colonne C et D
ayant des données négatives dans les 40 premières ligne de la colonne C et de
les effacer.

Pouvez-vous m'aider à faire ces deux boucles ?

Merci
Avatar
gwencab
michdenis a écrit le 07/01/2011 à 16h21 :
Dans ton fichier exemple,

la première ligne de la feuille "Traitement" se
présente ainsi :

Cnal1 Cnal4-1 Cnal1 Cnal4-2 Cnal1 Cnal4-3 Cnal1 Cnal4-4
Cnal1 Cnal4-5 Cnal1 Cnal4-6
Cnal1 Cnal4-7

Dans l'onglet N1-N10, tu as seulement ceci :
Cnal1 Cnal2 Cnal3 Cnal4

Les données de Cnal4-1 , Cnal4-2 , Cnal4-3 , Cnal4-4 etc
où sont-elles situées ? Comment les trouves-tu si elles ne sont
pas dans la feuille ?


MichD
--------------------------------------------
"gwencab" a écrit dans le message de groupe de discussion :


Jacquouille a écrit le 07/01/2011 à 12h00 :
Bonjour
Je crois que le plus simple, c'est de mettre ton fichier (expurgé des
données confidentielles) sur CJOINT.COM car si Denis n'a rien compris
à ton
problème, il ne seront pas légion à le faire.
Ensuite, tu poses une question claire, très claire. -)
Et tu publies le lien ici.

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille (MPFE).

"gwencab" a écrit dans le
message de news:

michdenis a écrit le 06/01/2011 à 20h27 :
Bonjour,

Poser une question, ce n'est pas un exercice de littérature !

Tes données sont dans un fichier .txt ou Excel ?
A ) si dans un fichier Texte : Quel est le séparateur entre chacune
de
tes données ?
Le TAB, la virgule, le point virgule, l'espace ? Autre chose ?

B ) si données dans un fichier Excel, tes données se
retrouvent
où dans
la feuille de calcul ? Une feuille de calcul, ce n'est pas abstrait, tu
as
des adresses (lignes, colonnes) il faut t'en servir !!!!!!!!!!!!!

Pour A et B, comment sont disposées les données ? Une ligne
à la suite de l'autre ?

C ) Que veux-tu faire avec ces données ? Les exporter ? OÙ ?
Nom
de la feuille, du classeur
à partir de quelle adresse de cellules ?

Conclusion : Je n'ai rien compris de ce que tu veux faire...


MichD
--------------------------------------------




Bonjour,

Merci pour les commentaires. Comme tu as pu le remarquer, je ne suis pas
très
au fait de ce genre de question et j’apprends à programmer (en
tout cas
sur
Excel).

Mes données sont dans un fichier .txt que j’ai importé
dans Excel
(opération
manuelle). Le séparateur est une Tabulation. Un fois les
données
importées, le
fichier Excel se compose d’un seul onglet avec le nom du fichier .txt.

Fichiers text :

03/12/2010 50:40.3
Intervalle Date Heure T1 T2 T3 T4 T5 T6 Cnal1 Cnal2 Cnal3 Cnal4

0.6 03/12/2010 50:40.9 0 0 0 0 0 0 141 13 0 -0.036
526.4 03/12/2010 59:26.7 0 0 0 0 0 0 144 17 0.6 0.013
526.6 03/12/2010 59:26.8 0 0 0 0 0 0 144 17 0.6 0.013
…/...
622.4 03/12/2010 01:02.7 0 0 0 0 0 0 0 1803 1.8 0.38
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.6 03/12/2010 01:02.9 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
622.8 03/12/2010 01:03.1 0 0 0 0 0 0 -1 1755 1.8 0.365
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623 03/12/2010 01:03.3 0 0 0 0 0 0 -1 1319 1.8 0.274
623.2 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.3 03/12/2010 01:03.5 0 0 0 0 0 0 -1 1319 1.8 0.274
623.4 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.5 03/12/2010 01:03.7 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.6 03/12/2010 01:03.9 0 0 0 0 0 0 -1 870 1.9 0.179
623.8 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.9 03/12/2010 01:04.1 0 0 0 0 0 0 -1 622 1.8 0.129
623.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.1 03/12/2010 01:04.3 0 0 0 0 0 0 -1 622 1.8 0.129
624.3 03/12/2010 01:04.5 0 0 0 0 0 0 -1 622 1.8 0.129
624.5 03/12/2010 01:04.8 0 0 0 0 0 0 -1 495 0.5 0.466
624.7 03/12/2010 01:05.0 0 0 0 0 0 0 -1 175 0.1 -1.899
1585.1 03/12/2010 17:06.3 0 0 0 0 0 0 165 25 0.6 0.019
…/…
1704.9 03/12/2010 19:05.1 0 0 0 0 0 0 0 1799 1.8 0.39


L’idée est copier la colonne J (Cnal2) et M (Cnal4) dans un
nouvel onglet
appelé traitement (cette opération a été fait
avec
l’enregistreur).

Il y a entre 5 et 10 cycles (fixé par l’essai). La valeur dans J
correspond à
une vitesse et dans M une valeur de force correspondant. L’idée
est de
tracer la
force en fonction de la vitesse.

Dans l’onglet traitement, la colonne Cnal2 se retrouve dans la colonne
A
et la
colonne Cnal4 dans la colonne B suivant cette forme.

A B
Cnal 2 Cnal4

Données (v diminue,794 Lig) F (749Lig)
Valeur négative (18Lig) Valeur aberrante (18Lig)
Données (600Lig) F (600Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Données (950 Lig) F (950 Lig)
Valeur négative (20Lig) Valeur aberrante (20Lig)
Etc … ;

Le nombre de ligne pour les données est proportionnel à la
vitesse (donc
toujours variable). En ce qui concerne les valeurs aberrantes, le nombre
de
ligne est variable, correspondant au refroidissement.

L’idée de la macro est présenter les résultats
sous
cette forme
Cnal 2 Cnal4 Cnal 2 Cnal4 Cnal 2 Cnal4 Etc…

Données F Données F Données
F
Etc…


Voilà j’espère avoir été plus clair.

En tout cas merci pour les commentaires






Bonjour,

Merci pour le lien.
Mes fichiers d'acquisition sont sous cette forme :
http://cjoint.com/?2bhptPLqvn

Au final, j'aimerai avoir une fichier Excel de ce type.
http://cjoint.com/?2bhpCNxuxLZ

A l'heure actuelle, la macro crée la mise en page de l'onglet
"traitement"
colle les données de la colonne Cnal2 et Cnal4. Et j'arrive à
trouver la
première valeur inférieure ou égale à 0 (fichier
obtenu avec mon code
http://cjoint.com/?2bhpKGQbQHC).

Ce que je n'arrive pas, c'est sélectionner toutes les cellules et celle
d'à
coté et les coller dans les colonnes C et D (nommé Cnal2 et
Cnal4-2).

La boucle suivante consistera à sélectionner les données
dans la colonne C et D
ayant des données négatives dans les 40 premières ligne de
la colonne C et de
les effacer.

Pouvez-vous m'aider à faire ces deux boucles ?

Merci


Bonjour MichD

Désolé de répondre aussi tard, mais je suis allé à l’enterrement de ma grand-mère.

A l’heure actuelle, ma macro réalise les opérations suivantes (1) création de l’onglet Traitement (2) création des titres de chaque colonne Cnal 1 Cnal4-1, Cnal1 Cnal 4-2 sur la première ligne des colonnes (A à T) (3) je copie ensuite la colonne Cnal 1 et Cnal 4 de l’onglet N1-N10 dans la colonne A et B de l’onglet traitement.

Et ensuite, blocage !!!

Il faut que je cherche la première négative présentant dans la colonne A (de mon fichier). Je souhaite ensuite coller dans la colonne C et D les cellules en dessous de cette première valeur négative avec celle correspondant à la colonne B.

J’efface ensuite les valeurs négatives au début de la colonne C et D (code trouvé) et je recommence la même opération jusqu’à ce que j’aie rempli toute les colonnes (A à T).

Au passage, j’aimerai mettre une condition de faire cette opération s’il y a des valeurs dans la cellule. Mais je crois que cela marche si je mets cette ligne de commande Do while ActiceCell.value <> ““