Ecrire dans un classeur xls ferme

Bonjour,

J'ai regardé sur le forum mais j'ai du mal à comprendre et valider. Je comprends à peu près les connections mais je n'arrive pas à finaliser dans les différents exemples : comment on indique ce que l'on veut écrire et l'endroit de l'insertion dans le classeur fermé.

Dans mon cas :

1- je créé dans le premier sub un tableau tridimensionnel avec des valeurs obtenues de différents tri automatiques successifs = Dim tableau (14,12,5)

2- je souhaiterais copier chaque valeur de ce tableau dans les différents tableaux du fichier "Suivi par période et par type de test 2013.xls" sans l'ouvrir (fichier zipé):

par exemple la valeur tableau (1,1,1) :

  • le premier 1 correspond à l'array "PA", "PC" etc..
  • le 2eme 1 correspond au mois de l'année
  • le 3eme 1 correspond à l'array retard

3- je souhaite :

  • copier les valeurs tableau (1,1,1) à tableau (1,1,5) dans la première ligne du tableau du mois de janvier qui correspond à "PA",
  • copier tableau (1,2,1) à tableau (1,2,5) dans la première ligne du tableau du mois de février qui correspond à "PA"
  • etc.. jusqu'à décembre

Puis :

  • copier les valeurs tableau (2,1,1) à tableau (2,1,5) dans la 2ème ligne du tableau du mois de janvier qui correspond à "PC",
  • copier tableau (2,2,1) à tableau (2,2,5) dans la 2ème ligne du tableau du mois de février qui correspond à "PC"
  • etc.. jusqu'à décembre

Etc..

Pouvez vous m'aider svp ? avec vos commentaires pour bien comprendre.

merci beaucoup,

jasserin

55etudes.xlsm (85.38 Ko)

Rebonjour,

De plus, je viens de voir un bug que je n'explique pas.

Si je fais le filtre en pas à pas ou en exécution normale : IU + mars + dans les temps = aucune ligne n'apparait tandis que manuellement, j'arrive à 1 ligne qui existe bien ?????

je ne vois pas pourquoi,

merci pour votre aide,

jasserin

Bonjour

Désolé mais je ne t'aiderais pas car je n'y connais rien, à la rigueur je saurais faire avec la méthode classique (ouverture/copie/sauvegarde/fermeture)

J'interviens pour ton problème de bug

Places tes critères "Retard" dans le même ordre que celui inscrit dans tes tableaux , je pense que cela enlèvera la divergence

Bonjour banzai,

Merci pour ta réponse ...mais je ne vois pas. l'ordre de tri est critère(i) + année(j) + retard(k) et le tableau est bien déclaré dans le même ordre tableau (14,12,5), il y a bien 14 possibilité de critère(i), 12 possibilité pour l'année et 5 possibilité pour le retard.

peux tu me préciser ton conseil ?

merci beaucoup

jasserin

Bonjour

Actuellement tu as ton tableau des critères "Retard" dans cet ordre

Retard = Array("Dans les temps", "Retard<1sem", "Retard>1sem", "Avance<1sem", "Avance>1sem")

Mais celui-ci ne correspond pas a l'ordre des colonnes de tes tableaux qui est

Retard = Array("Avance>1sem", "Avance<1sem", "Dans les temps", "Retard<1sem", "Retard>1sem")

Si avant tu avais dans ton tableau "Tableau" 1 pour Mars + IU + Dans les temps

Maintenant tu as 0 (ce qui est normal)

Je rajoute (juste un avis personnel)

Un tableau de 12 * 14 lignes et de 5 colonnes serait plus facile à manipuler

Les 14 premières lignes seraient pour le tableau Janvier, Les 14 suivantes pour Février, etc .....

Bonjour banzai,

j'ai bien noté ta remarque mais je ne la comprends pas. Manuellement lorsque nous réalisons un tri, le menu déroulant offre toutes les possibilités présentes dans un ordre alphabétique apparemment. Est ce cet ordre qu'il faut présenter dans les Array ?

J'ai par exemple dans le 1er tri avec CO, 4 lignes qui apparaissent avec normalement 1 seule remplie avec mars / dans les temps / et la valeur 1 pour la colonne à droite du mois. En pas à pas, je ne la retrouve pas. Est ce le fait de boucler par les mois de janvier et février (qui n'existent pas dans le 1er TRI avec CO) qui engendre un bug ?

Sinon pourrais tu stp me réécrire le code pour que à la valeur du tableau = tableau(133) correspondant au filtre CO + mars + dans les temps, j'ai la valeur 1.

Merci beaucoup,

jasserin

45etudes.xlsm (87.46 Ko)

Bonjour

Comment peux tu avoir un résultat correct si tu mélanges l'ordre des critères

Tu dois respecter cet ordre défini par la composition de tes tableaux

jasserin ordre des criteres

Voici ce que tu dois avoir

  Annee = Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "Aout", "septembre", "Octobre", "Novembre", "Décembre")
  Retard = Array("Avance>1sem", "Avance<1sem", "Dans les temps", "Retard<1sem", "Retard>1sem")
  Critere = Array("PA", "PC", "OF", "PC_OF", "IU", "RT", "IU_TE", "RT_TE", "IU_QU", "IU_TE_QU", "TE", "QU", "TE_QU", "CO")
jasserin a écrit :

la valeur du tableau = tableau(133)

Tu veux dire Tableau(1,3,3) c'est à dire

Par rapport aux critères de tes tableaux dans la macro

Critère 1 : "CO"

Critère 2 : "Mars"

critère 3 : "Dans les temps"

et tu places le résultat dans la 1ère ligne (PA), 3ème tableau (Mars) et 3ème colonne (Dans les temps), ce qui est faux

Rechercher des sujets similaires à "ecrire classeur xls ferme"