Associer 1 nom étalé sur plusieurs colonnes à une autre feuille
Fermé
Metaux
Messages postés
47
Date d'inscription
mardi 16 juin 2015
Statut
Membre
Dernière intervention
13 octobre 2016
-
17 juin 2015 à 17:16
Metaux Messages postés 47 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 13 octobre 2016 - 22 juin 2015 à 14:21
Metaux Messages postés 47 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 13 octobre 2016 - 22 juin 2015 à 14:21
A voir également:
- Associer 1 nom étalé sur plusieurs colonnes à une autre feuille
- Formule moyenne excel plusieurs colonnes - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Comment supprimer une feuille sur word - Guide
- Déplacer une colonne excel - Guide
- Comment faire des colonnes sur word - Guide
1 réponse
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
17 juin 2015 à 23:53
17 juin 2015 à 23:53
Re,
la suite donc...
Fait par fonction personnalisée à mettre dans un module standard.
Faire F9 sur les feuilles où est la fonction si tu changes les valeurs dans les feuilles de profilés. Peut-être automatisé mais au prix d'un petit ralentissement et de réponses à des questions. Comme ce n'est pas dit qu'elles évoluent souvent, tu dis...
A tester : https://www.cjoint.com/c/EFrvVfZcCyl
eric
la suite donc...
Fait par fonction personnalisée à mettre dans un module standard.
Faire F9 sur les feuilles où est la fonction si tu changes les valeurs dans les feuilles de profilés. Peut-être automatisé mais au prix d'un petit ralentissement et de réponses à des questions. Comme ce n'est pas dit qu'elles évoluent souvent, tu dis...
A tester : https://www.cjoint.com/c/EFrvVfZcCyl
eric
18 juin 2015 à 15:40
J'essaie de comprendre la logique de ta macro.. et je n'y arrive pas !
Peut-être que j'ai trop décris dans mon dernier post pour ce que je voulais réellement alors je tente à nouveau de m'expliquer et tu me diras si tu parviens à me comprendre ;)
Si on prend mon fichier, j'aimerais qu'excel transfert chacune de mes données inscrites dans les cellules de la colonne H de ma feuille ``Listing regroupée`` vers les bonnes cellules des colonnes O des feuilles ``L`` ou ``H``
La manière de retracer s'il s'agit de la feuille ``L`` ou ``H`` sera en fonction de la colonne B de ma feuille ``Listing regroupée``
Ensuite une fois la bonne feuille retracée, à l'aide des dimensions écrites dans les cellules (C, D, E, F, et G) d'une même ligne de ma feuille ``Listing regroupée`` il doit retrouver cette même information parmi la bonne feuille retracée pour ensuite entrer la donnée de la colonne H de la feuille ``Listing regroupée`` dans la colonne O de la bonne feuille retracée
Exp. 1 : (si on prend la ligne 8 de ``Listing regroupée``), c'est B8 qui me dit que je dois aller dans la feuille ``L```, Excel va associer C8,D8,E8,F8 et G8 de la feuille ``Listing regroupée``à B7,C7,D7,E7 et F7 de la feuille ``L`` pour ainsi entrer la valeur de H8 (soit 30) de la feuille ``Listing regroupée`` dans la cellule O7 de la feuille ``L``
Exp. 2 : (si on prend la ligne 13 de ``Listing regroupée``), c'est B13 qui me dit que je dois aller dans la feuille ``HSS```, Ensuite Excel va associer C13,D13,E13,F13 et G13 de la feuille ``Listing regroupée``à B19,C19,D19,E19 et F19 de la feuille ``HSS`` pour ainsi entrer la valeur de H13 (soit 40) de la feuille ``Listing regroupée`` dans la cellule O19 de la feuille ``HSS``
MErci !
Modifié par eriiic le 18/06/2015 à 17:05
Oui, oui, je pense que c'est bon. J'ai peut-être été avare en explications, je pensais que tu pouvais connaitre.
Une fonction personnalisée est une fonction que tu écris en vba. Une fois réalisée elle s'utilise sur une feuille comme une fonction native d'excel.
Il faut donc décider quels paramètres elle doit recevoir, lui faire faire les calculs, et elle retourne le résultat dans la cellule.
Regarde sa déclaration dans Module1 :
Function longueur(profilé As String, dim1 As Single, dim2 As Single, dim3 As Single)
elle veut donc en paramètre le profilé et les 3 dimensions.
Syntaxe sur la feuille en H6 :
=longueur(B6;C6;E6;G6)
ce qui donne :
=longueur("L";1/2;1/2;1/8)
: va chercher dans la feuille "L" la ligne avec ces 3 dimensions et retourne moi la longueur qui est en O.
Bon, comme tu n'as pas rempli grand chose sur tes tableaux elle retourne surtout "inconnu" ou 0. J'ai ajouté en ligne 8 une erreur de feuille (LL) que tu vois qu'elle est traitée
Tu tires la formule vers bas pour les autres lignes, pareil que les fonctions excel.
En H13 tu vois qu'elle retourne bien 40 (c'est la seule ligne que tu avais préparée en fait. J'ai bien ajouté des valeurs dans HSS!O mais comme toutes les autres lignes sont sur L...)
Dans le code tu as :
sur tes feuilles L, HSS, etc il faut respecter l'emplacement des données qu'elle a besoin, en dur dans le code :
- les dimensions à partir de B5 sur 5 colonnes
- longueurs à partir de O5, autant de lignes
Sinon adapter le code.
C'est mieux ?
eric
18 juin 2015 à 17:15
va chercher dans la feuille "L" la ligne avec ces 3 dimensions et retourne moi la longueur qui est en O.
Est-ce que tu pourrais modifier dans l'autre sens Du genre :
Va porter dans la feuille ``L`` à la ligne avec ces 3 dimensions, la longueur qui est en H
18 juin 2015 à 17:17
Modifié par eriiic le 18/06/2015 à 17:48
Va porter dans la feuille ``L`` à la ligne avec ces 3 dimensions, la longueur qui est en H
Ah, je ne l'avais pas lu du tout comme ça, même si c'était bien écrit. Le plus souvent on récupère des données d'une table...
On peut, mais ça n'a plus rien à voir au niveau code.
Pourquoi tu ne modifies pas directement la feuille du profilé ? Tu n'aurais pas 5 trucs à saisir mais juste la longueur.
Ou bien tu ne gardes que la 1ère feuille et tu filtres par profilé quand tu n'en veux qu'un seul. Dupliquer les données est rarement bon et utile, et de toute façon tu ne peux lire qu'une feuille à la fois.
Tes autres feuille ont qq chose de plus que tu ne peux pas représenter sur la 1ère ?
eric