Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2897 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Excel : transformer certaines lignes en colonnes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel : transformer certaines lignes en colonnes

n°2516720
therion3
Posté le 13-09-2006 à 12:09:11  profilanswer
 

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

mood
Publicité
Posté le 13-09-2006 à 12:09:11  profilanswer
 

n°2516749
tibot
Posté le 13-09-2006 à 12:29:20  profilanswer
 

copier>collage spécial...>transposé

n°2516972
therion3
Posté le 13-09-2006 à 15:34:28  profilanswer
 

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

n°2517480
Prozac
Tout va bien
Posté le 13-09-2006 à 21:39:09  profilanswer
 

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


---------------
La ligne droite n'est en aucun cas le plus court chemin entre deux points. Sauf, bien sûr, si les deux points sont bien alignés l'un en face de l'autre
n°2517576
SuppotDeSa​Tante
Aka dje69r
Posté le 13-09-2006 à 23:35:35  profilanswer
 

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


Message édité par SuppotDeSaTante le 13-09-2006 à 23:52:39
n°2517803
therion3
Posté le 14-09-2006 à 10:52:18  profilanswer
 

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


Message édité par therion3 le 14-09-2006 à 11:03:38
n°2520152
Prozac
Tout va bien
Posté le 16-09-2006 à 19:03:10  profilanswer
 

Ben là j'avoue ne pas voir pourquoi un simple tableau croisé dynamique ne convient pas


---------------
La ligne droite n'est en aucun cas le plus court chemin entre deux points. Sauf, bien sûr, si les deux points sont bien alignés l'un en face de l'autre

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Excel : transformer certaines lignes en colonnes

 

Sujets relatifs
[Excel] Protéger contrôle par mot de passeProblème d'affichage de certaines pages web
Transformer un fichier TXT en fichier XLSExcel ... Besoin d'une petite aide
transformer RJ45 croisé en RJ45 droit[EXCEL] J'ai quitté sans sauvegarder, y a t il moyen de récupérer ?
Bug dans Excel ?? Preuve ici, çà m'a faussé mes calculs...Probleme de tableau excel
Excel et liens réseau 
Plus de sujets relatifs à : Excel : transformer certaines lignes en colonnes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR