[..] Mise en forme conditionnelle sous Excel

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

[..] Mise en forme conditionnelle sous Excel

#1

Message par Hugues »

Bonjour,

Je souhaiterai mettre en forme le contenu de mon fichier Excel.
Je lis en boucle des fichiers et je met leur contenu dans un fichier Excel.
Je voudrais arriver à un résultat comme dans le fichier Excel Joint.

Ci-joint mon code et les fichiers à lire. Vous comprendrez tout de suite mon problème ^^

Merci par avance.

Les fichiers à lire:
http://www.cjoint.com/c/EJqmsZs0QZI
http://www.cjoint.com/c/EJqmtthKloI
http://www.cjoint.com/c/EJqmtU5bVxI
http://www.cjoint.com/c/EJqmus6vqsI
http://www.cjoint.com/c/EJqmuVvpd2I
http://www.cjoint.com/c/EJqmvfdhiDI

Le fichier excel final désiré:
http://www.cjoint.com/c/EJqmwyCBghI

Mon code:
► Afficher le texte
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#2

Message par walkson »

Bonsoir,
Vous comprendrez tout de suite mon problème
Ben, pas vraiment. Pour le savoir, il faudrait voir votre résultat avec problèmes.
A tout hasard, je vous propose de formater les cellules dans Excel. Voici un exemple tiré d'un vieux script.
En espérant que cela vous aide...
► Afficher le texte
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#3

Message par Hugues »

Salut,

Quand tu regardes mon fichier Excel joint, il y a la mise en forme que je désire ^^. Ce n'est pas un problème de mise en forme de cellule... ^^

Si tu copies les fichiers joints et que tu lances mon code, tu verras qu'il copie et colle ligne à ligne les données que je veux récupérer.

Moi je veux que si les points de mesure de la ligne suivante correspondent aux points de mesure précedents, il supprime la ligne des noms des points de mesures (pas les valeurs ^^).

Voilà, je sais pas si j'ai été clair dans mes explications lol.

Je peux pas tester ton code car je viens de changer de PC et j'ai pô Excel d'installé..

Merci.
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#4

Message par Hugues »

Voici mon fichier excel généré par mon code:
http://www.cjoint.com/c/EJtoSityv0I
et je voudrais obtenir comme resultat:
http://www.cjoint.com/c/EJqmwyCBghI

:mrgreen:
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#5

Message par Hugues »

Personne pour me donner un p'ti coup de patte? :roll: :mrgreen:
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#6

Message par Hugues »

Any idea? :cry: Car il ne me reste plus que se problème pour clore mon projet...

J'ai beau tourné le problème dans tout les sens, je ne parviens pas à faire ce que je désire...
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#7

Message par Oversid3 »

Voila qui devrait faire l'affaire, il manque juste un peu de bidouillage a faire pour le saut de ligne ;)
► Afficher le texte
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#8

Message par Hugues »

Salut, merci ^^ mais c'est pas tout à fait ça encore...

En fait, tu fais le tri avec $Split, ce qui correspond au point de sertissage, moi je voudrais que le check se fasse sur le nom des points de mesure:

Sant Fantgr Santgr Mgrad Fantgr etc...
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#9

Message par Oversid3 »

Ah ok je vois, si il y a exactement les meme points de mesure d'un fichier a l'autre on garde les "titres" ?

C'est bien ca ?
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#10

Message par Hugues »

En gros c'est ça.

Regarde les 2 fichiers excel que j'ai joint precedemment, tu comprendras tout de suite. ^^
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#11

Message par Oversid3 »

Ok je fouille et test dans un coin de l'écran.

Mais je donne déjà ma piste, peut-etre tu aura le temps de l'implementer avant moi :)



A chaque lecture d'un fichier, utiliser les points de mesure pour créer un chaine unique qui les concatenes

Code : Tout sélectionner

Local $test=StringReplace(StringReplace(StringReplace(StringReplace($aString2[$a][0], "'", ""), "=", ""), "nicht auswertbar", ""), " ", "")
$concat &= $test

 
Et donc utiliser cette chaine unique pour la comparer avec la suivante pour en déduire si on ecrit ou non.

Il faut juste revoi un peu la logique de ton code et ajouter cette fonction justement de concatenation et de comparatif avant d'ecrire, mais voila l'idée.
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#12

Message par Hugues »

Oui, c'est ce que j'ai commencé à faire avant que tu postes lol.
Après il faut que je l'adapte car mes fichiers lus n'ont pas tous excatement la meme mise en forme à cause des versions de software des machines ^^
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#13

Message par walkson »

Bonjour,
Votre problème n'est pas si évident !
J'essayerais de faire un array global avec en première colonne, les noms des valeurs concatenés et en deuxième valeur le nombre de colonnes à insérer (pour faciliter la recherche)
J'écris à chaque ligne les valeurs et les noms des valeurs (une ligne par fichier)
Si les nombre de colonnes augmente, faire un Redim (ou faire un array maxi si vous le connaissez)
Je fais un ArraySort sur la première colonne puis je récupère les données pour les écrire sur Excel en comparant la valeur concatenée avec la précédente. Si elle existe, je ne récupère pas les noms des mesures mais son chiffre
En espérant été assez clair ...
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#14

Message par Oversid3 »

Dans les deux cas il faut revoir le déroulement du script pour avoir 2 parties :

Analyse
Ecriture

Mais j'aime bien l'idée de faire un tableau et de trier dedans, c'est plus propre :)
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#15

Message par walkson »

Après, il y a aussi la solution excel en modifiant votre tableau de départ et en appliquant un trie suivi d'un nettoyage des doublons.
Dans l'exemple ci-dessous, les noms des données et leur valeur (soit 2 lignes) sont reconnus par la date et l'heure car vos données sont sous un couple de lignes. Le trie que j'ai effectué, est sur les colonnes A, E,F et D. Il ne reste plus qu'à supprimer les doublons et les valeurs devenues inutiles par une série de boucles.
Vous remarquerez que j'ai changé le format date. Excel est une vieille dame qui a du mal à reconnaitre certains formats...
Bon, j'avoue ne pas avoir trop approfondi le sujet mais ce peut être une piste
Fichiers joints
Capture.JPG
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#16

Message par Hugues »

Bonjour, merci à tous pour vos réponses.

Il est vrai que le top serait de tout mettre dans un tableau et de coller dans Excel car avec mon code actuel, le temps de déroulement est long...

Je lis les fichiers via FTP, traite les données (une multitudes de boucles car mes fichiers n'ont pas tous la même mise en forme) et je peux avoir jusqu'à plus de 400 fichiers à lire...

Bref...
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#17

Message par Oversid3 »

Je n'ai pas le temps de finir (et je n'y replancherai pas avant Lundi ou Mardi) donc je te laisse mon avancée :

Mais donc tu verra dans l'idée, j'ai créer un tableau avec toutes les infos.

Je me sert ensuite de ce tableau pour faire la logique d'ecriture dans Excel.
► Afficher le texte
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#18

Message par Oversid3 »

Finalement version finie :)

Il reste cependant a jouer avec les ExcelRowStart encore un peu mais ca m'ennerve :D
► Afficher le texte
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Mise en forme conditionnelle sous Excel

#19

Message par Hugues »

Ok, merci. Il faut que je l'adapte à mon autre style de fichier car la mise en forme du tableau de sortie n'est pas correct...

Pour le moment je galère avec la suppression de valeur dans un tableau... Je ne reussi pas à le redimensionner...

Je fais un _ArrayFindAll() pour trouver les fichiers que je veux supprimer, ensuite une boucle For...Next pour supprimmer, mais ca bloque au niveau du ReDim...
Répondre