Excel - transposer multicellule sur des ligne
ToRoX
-
melanie1324 Messages postés 1561 Statut Membre -
melanie1324 Messages postés 1561 Statut Membre -
Bonjour la communauté !
Je viens souvent sur ccm pour trouver des trucs et astuces pour réaliser mes formules excel, mais cette fois je suis bloqué bloqué : /
.
J'ai 2 feuilles dans mon classeur :
1- liste d'applications
2- liste de serveurs
.
Pour chaque ligne (1ligne=1application), je souhaiterai renseigner la liste des serveurs rattachés sur cette ligne.
.
Représentation:
1- liste des applications
id_application | nom_application |et plein d'info dans Xcellules
.
2- liste serveurs
id_application | id_serveur | nom_serveur
.
Résultat souhaité:
1- liste applications
id_application | nom_application | Xcellules | nom_serveur1 | nom_serveur2 | nom_serveur3 ...
.
Je souhaiterai que tout soit automatique via fonctions et/ou Macros.
Merci à tous pour votre aide, conseil, piste de recherche ou développement :)
Précision : microsoft 2003
Je viens souvent sur ccm pour trouver des trucs et astuces pour réaliser mes formules excel, mais cette fois je suis bloqué bloqué : /
.
J'ai 2 feuilles dans mon classeur :
1- liste d'applications
2- liste de serveurs
.
Pour chaque ligne (1ligne=1application), je souhaiterai renseigner la liste des serveurs rattachés sur cette ligne.
.
Représentation:
1- liste des applications
id_application | nom_application |et plein d'info dans Xcellules
.
2- liste serveurs
id_application | id_serveur | nom_serveur
.
Résultat souhaité:
1- liste applications
id_application | nom_application | Xcellules | nom_serveur1 | nom_serveur2 | nom_serveur3 ...
.
Je souhaiterai que tout soit automatique via fonctions et/ou Macros.
Merci à tous pour votre aide, conseil, piste de recherche ou développement :)
Précision : microsoft 2003
A voir également:
- Excel - transposer multicellule sur des ligne
- Liste déroulante excel - Guide
- Partager des photos en ligne - Guide
- Formule somme excel ligne - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
2 réponses
bonjour,
voici la formule qui permet de t'aider.
ton tableau serveur est comme ca :
2- liste serveurs
id_application | id_serveur | nom_serveur
1- liste applications
id_application | nom_application | Xcellules | nom_serveur1 | nom_serveur2 | nom_serveur3 ...
à nom_serveur1 : tu mets cette formule :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Application!$A:$A;0)-1;2;;);"")
à nom-serveur2 :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Serveur!$A:$A;0);2;;);"")
à nom serveur3 :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Serveur!$A:$A;0)+1;2;;);"")
voici ce qu'elle fait :
nb.si : compte le nombre de fois où la cellule E7 apparaît dans la colonne A de ta feuille Application. (E7, cellule ou se trouve le nom ton application)
important :
eQUIV($E7;Serveur!$A:$A;0)-LIGNE(Serveur!$A$1) : donne le numéro de lignes ou se trouve ton application(E7), dans la colonne A da tafeuille Application. A ce numéro de lignes tu fais -1 pour le serveur 1; 0 pour le serveur 2; +1 pour le serveur 3 ....
la fonction decaler permet de décaler :
DECALER(Application!$A$1;EQUIV($E7;Application!$A:$A;0)-1;2;;) :
cellule de référence : A1 de la feuille Application.
On lui rajoute le numéro de lignes où se trouve ton application (cf equiv) auquel on rajoute -1 ou 0 ou +1 ou +2 en fonction du numéro de serveur....
et on va à la colonne 2 pour chercher le nom du serveur.
Je peux pas te donner de fichier dans cijoint car pas accès mais essaie et vois ce que ca donne
voici la formule qui permet de t'aider.
ton tableau serveur est comme ca :
2- liste serveurs
id_application | id_serveur | nom_serveur
1- liste applications
id_application | nom_application | Xcellules | nom_serveur1 | nom_serveur2 | nom_serveur3 ...
à nom_serveur1 : tu mets cette formule :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Application!$A:$A;0)-1;2;;);"")
à nom-serveur2 :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Serveur!$A:$A;0);2;;);"")
à nom serveur3 :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Serveur!$A:$A;0)+1;2;;);"")
voici ce qu'elle fait :
nb.si : compte le nombre de fois où la cellule E7 apparaît dans la colonne A de ta feuille Application. (E7, cellule ou se trouve le nom ton application)
important :
eQUIV($E7;Serveur!$A:$A;0)-LIGNE(Serveur!$A$1) : donne le numéro de lignes ou se trouve ton application(E7), dans la colonne A da tafeuille Application. A ce numéro de lignes tu fais -1 pour le serveur 1; 0 pour le serveur 2; +1 pour le serveur 3 ....
la fonction decaler permet de décaler :
DECALER(Application!$A$1;EQUIV($E7;Application!$A:$A;0)-1;2;;) :
cellule de référence : A1 de la feuille Application.
On lui rajoute le numéro de lignes où se trouve ton application (cf equiv) auquel on rajoute -1 ou 0 ou +1 ou +2 en fonction du numéro de serveur....
et on va à la colonne 2 pour chercher le nom du serveur.
Je peux pas te donner de fichier dans cijoint car pas accès mais essaie et vois ce que ca donne
Bonjour Mélanie,
Merci pour ta réponse !
Je suis entrain d'adapter à mon tableau actuellement, juste pour etre sur que ceci est une coquille dans ta réponse (sinon je ne comprend plus la logique de la formule ^^) :
========
à nom_serveur1 : tu mets cette formule :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Application!$A:$A;0)-1;2;;);"")
à nom-serveur2 :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Serveur!$A:$A;0);2;;);"")
========
Dans la 1ere formule, c'est bien Serveur et non Application qu'il faut utiliser ?
Merci pour ta réponse !
Je suis entrain d'adapter à mon tableau actuellement, juste pour etre sur que ceci est une coquille dans ta réponse (sinon je ne comprend plus la logique de la formule ^^) :
========
à nom_serveur1 : tu mets cette formule :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Application!$A:$A;0)-1;2;;);"")
à nom-serveur2 :
=SI(NB.SI(Application!$A:$A;$E7)>=1;DECALER(Application!$A$1;EQUIV($E7;Serveur!$A:$A;0);2;;);"")
========
Dans la 1ere formule, c'est bien Serveur et non Application qu'il faut utiliser ?
oui, j'avais commencé à la modifier et j'ai pas du aller au bout et je me suis un peu mélangée!!:
à nom_serveur1 : tu mets cette formule :
=SI(NB.SI(serveur!$A:$A;$E7)>=1;DECALER(Serveur!$A$1;EQUIV($E7;Serveur!$A:$A;0)-1;2;;);"")
à nom_serveur2 : tu mets cette formule :
=SI(NB.SI(serveur!$A:$A;$E7)>=1;DECALER(Serveur!$A$1;EQUIV($E7;Serveur!$A:$A;0);2;;);"")
à nom_serveur3 : tu mets cette formule :
=SI(NB.SI(serveur!$A:$A;$E7)>=1;DECALER(Serveur!$A$1;EQUIV($E7;Serveur!$A:$A;0)+1;2;;);"")
Cette formule à mettre sur ta feuille Application.
à nom_serveur1 : tu mets cette formule :
=SI(NB.SI(serveur!$A:$A;$E7)>=1;DECALER(Serveur!$A$1;EQUIV($E7;Serveur!$A:$A;0)-1;2;;);"")
à nom_serveur2 : tu mets cette formule :
=SI(NB.SI(serveur!$A:$A;$E7)>=1;DECALER(Serveur!$A$1;EQUIV($E7;Serveur!$A:$A;0);2;;);"")
à nom_serveur3 : tu mets cette formule :
=SI(NB.SI(serveur!$A:$A;$E7)>=1;DECALER(Serveur!$A$1;EQUIV($E7;Serveur!$A:$A;0)+1;2;;);"")
Cette formule à mettre sur ta feuille Application.