Excel : transformer certaines lignes en colonnes - Logiciels - Windows & Software
Marsh Posté le 13-09-2006 à 15:34:28
Tout d'abord merci de ton aide. 
 
Ce n'est pas exactement une transposition que je tente de faire, si on regarde bien l'exemple, établissement ET année sont en ligne. 
 
Si je transpose, ils seront tous les deux en colonnes, or je veux établissement en lignes et année en colonnes. 
 
Si ce n'est pas assez clair, je tenterai de formuler autrement... 
 
Merci de vos contributions 
Marsh Posté le 13-09-2006 à 21:39:09
Si tu as 2 colonnes dans ton tableau, je ferai sur la troisième une petite formule genre en C1, recopier b1 et en C2 
=si(gauche(A2,1)="E",A2,C1) 
recopier sur tout le tableau, copier, coller les valeurs. 
 
Là tu auras en face des couples "années,X" l'établissement auquel tu te réfères 
Ensuite je remplacerai les X par des 1 
puis supprimer les lignes qui commencent par "Etablissement" dans la colonne A. Renommer les entêtes en "années", "test" et "établissement" 
 
puis un tableau croisé dynamique avec les établissement dans les lignes, les années en colonnes et le test pour les données, en en prenant le maximum. Ca marche d'ailleurs peut être sans remplacer les X par des 1. 
 
Ensuite copier/coller les valeurs du tableau croisé dynamique, si nécessaire remplacer les cellules non vides (donc contenant 1) par X (rechercher/remplacer).
Marsh Posté le 13-09-2006 à 23:35:35
Bonsoir
Le "X" correspond a quoi ? est-il dans la meme cellule que l'année ?  
  
Est-ce un vrai exemple ? tes etablissements sont tous ecris Etablissement1 etablissement2 etc. ?
Marsh Posté le 14-09-2006 à 10:52:18
Merci de votre aide. 
 
En fait je souhaitais présenter une version ultra-simplifiée de ce que je faisais pour ne pas innonder les gentils contributeurs de détails dont ils n'ont que faire, mais je m'exprime mal et je m'en excuse. 
 
Déjà le x représente une valeur ou des caractères. 
Ce que j'appelle établissement 1, 2 ...  est en fait un code d'identification croissant. 
Et en fait ce n'est pas par année mais par discipline que je dois faire la redistribution des colonnes. 
 
Voici la tête de ma base de données (encore très simplifiée, mais moins  )
) 
 
FI               AN      DISCI LITC 
010000040	2002	20000	81 
010000040	2002	21000	30 
010000040	2002	21100	30 
010000040	2002	25000	51 
010000040	2002	26000  
010000057	2002	20000	252 
010000057	2002	21000	192 
010000057	2002	21100	86 
010000057	2002	25000	60 
010000057	2002	26000  
010000180	2000	20000	100 
010000180	2000	21000	3 
010000180	2000	21100	3 
010000180	2000	24000	97 
010000180	2000	24200	97 
010000180	2001	20000	100 
010000180	2001	21000	3 
010000180	2001	21100	3 
010000180	2001	24000	97 
010000180	2001	24200	97 
 
Et je souhaite obtenir 
 
(en cours d'édition, j'arrive pas à caler) 
 
      FI             AN       D20000      LITC20000     D21000          L21000        D21100      L21100 
010000040       2002   20000        81                  21000             30              21100         30           ETC. 
010000057       2002   20000       252                 21000            192             21100         86           ETC. 
010000180       2000   20000     100                 ETC
    
010000180       2001   20000     100                 ETC
    
    
C'est toujours pas le top pour présenter... Mais sinon vous pouvez voir de manière plus claire sur cet excel (sans macro normalement, donc pas de risque) : 
 
http://cjoint.com/?jnrdBwdJiR 
 
Merci encore de vos contributions 
Marsh Posté le 16-09-2006 à 19:03:10
Ben là j'avoue ne pas voir pourquoi un simple tableau croisé dynamique ne convient pas
Marsh Posté le 13-09-2006 à 12:09:11
Bonjour à tous!
 
 
 
 
J'ai un boulot super important à faire où je dois réaliser la prouesse
suivante :
J'ai une BDD comme suit :
établissement 1
2000 X
2001 X
2002 X
établissement 2
2002 X
2003 X
établissement 3
2004 X
Et je veux la transformer en:
2000 2001 2002 2003 2004
établissement 1 X X X
établissement 2 X X
établissement 3 X
Avez-vous une idée de la manière dont je peux procéder (pour le faire
automatiquement bien entendu)?
Dois-je passer par le VBA?
Si oui, quelles fonctions (voire même un tuto?) vont elles être utiles?
Merci d'avance de votre aide
PS : si vous connaissez un forum plus adapté pour répondre à ma question, je suis preneur merci