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
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
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
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