Page 1 sur 1

[..] Mise en forme conditionnelle sous Excel

Posté : ven. 16 oct. 2015 14:33
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

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

Posté : ven. 16 oct. 2015 19:29
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

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

Posté : lun. 19 oct. 2015 14:44
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.

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

Posté : lun. 19 oct. 2015 16:46
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:

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

Posté : jeu. 22 oct. 2015 12:37
par Hugues
Personne pour me donner un p'ti coup de patte? :roll: :mrgreen:

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

Posté : mer. 28 oct. 2015 14:14
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...

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

Posté : mer. 28 oct. 2015 15:50
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

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

Posté : jeu. 29 oct. 2015 14:38
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...

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

Posté : jeu. 29 oct. 2015 14:44
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 ?

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

Posté : jeu. 29 oct. 2015 15:10
par Hugues
En gros c'est ça.

Regarde les 2 fichiers excel que j'ai joint precedemment, tu comprendras tout de suite. ^^

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

Posté : jeu. 29 oct. 2015 15:25
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.

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

Posté : jeu. 29 oct. 2015 15:35
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 ^^

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

Posté : jeu. 29 oct. 2015 15:49
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 ...

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

Posté : jeu. 29 oct. 2015 16:03
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 :)

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

Posté : jeu. 29 oct. 2015 18:43
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

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

Posté : ven. 30 oct. 2015 08:03
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...

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

Posté : ven. 30 oct. 2015 16:08
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

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

Posté : ven. 30 oct. 2015 17:00
par Oversid3
Finalement version finie :)

Il reste cependant a jouer avec les ExcelRowStart encore un peu mais ca m'ennerve :D
► Afficher le texte

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

Posté : mar. 03 nov. 2015 08:20
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...