IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Condition itérative sur une colonne? [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Par défaut Condition itérative sur une colonne?
    Bonjour à tous,

    D'avance je m'excuse si je poste ce message dans le mauvais forum, c'est mon premier message sur ce forum qui me semble bien utile!

    Je ne sais pas si j'ai besoin d'une macro pour effectuer ce dont j'ai envie, et sachez que je maitrise les fonctions "basiques" d'excel mais je ne suis pas un fin spécialiste, donc si vous pouvez détailler vos réponses, cela m'aiderait grandement (considérez moi comme néophyte donc!)

    Alors, voici mon problème, j'ai une liste de différents objets (une Bill-of-Material), nécessaires à la conception d'un objet, chacun ayant un niveau de hiérarchie propre (allant de 0 pour l'objet final à 4 pour un objet de la plus petite hiérarchie).

    J'aimerais créer une matrice binaire pour visualiser quel objet est nécessaire dans la création de quel autre objet de la hiérarchie supérieure.
    Je suis donc à la recherche d'une fonction excel qui pourrait itérer une recherche sur la colonne en partant du niveau de hiérarchie de chaque objet et de remonter cette colonne jusqu'à trouver une hiérarchie inférieure (le futur objet qui nécessite ce matériel dont on est parti)...

    Je galère sévère, j'ai du mal à m'expliquer et je posterai demain un exemple de fichier excel pour que vous compreniez mieux, mais si quelqu'un a déjà compris ma situation et qu'il sait m'aider, voici mes questions:

    1) Ai-je besoin de l'utilisation d'une macro pour mon problème?
    2) Si non: quelle fonction pourrait être suffisante?
    3) Si oui: pouvez-vous m'expliquer quelle genre de macro utiliser (en sachant que je n'ai presque jamais utilisé les macros excel)?

    Un grand merci d'avance,

    pklein.

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour,

    Oui, exemple nécessaire et/ou paracétamol en prime .....
    Sur la base de ma compréhension, fragile, des fonctions LOOKUP pourraient le faire .... Mais à voir

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Par défaut
    Voici un exemple basique de mon problème en fichier joint.

    Vous devriez comprendre le système de "hiérarchie de produit" assez vite en regardant la hiérarchie du composant ainsi que la description de l'utilité finale de ce dernier. (Peut-être comprendrez vous mieux ma phrase dans mon ancien post : "itérer une recherche sur la colonne en partant du niveau de hiérarchie de chaque objet et de remonter cette colonne jusqu'à trouver une hiérarchie inférieure (le futur objet qui nécessite ce matériel dont on est parti)"

    J'aimerais créer la matrice de droite, seulement c'est pour un article final qui comprends des centaines de composantes, du coup c'est impossible de faire ça à la main

    Si vous avez des pistes d'idées, je suis preneur!

    Merci d'avance,

    Voici le fichier excel d'exemple: aide-excel.xlsx

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 513
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 513
    Par défaut
    Compliqué une matrice.
    Ne serait-ce pas plus simple d'ajouter une colonne a coté de la description, qui precise l'item parent ?

    Autrement, si l'on assume que le texte de la colonne description a une forme bien precise et immuable, on peut se lancer dans une rapide analyse de texte afin d'en deduire l'item parent. Ensuite une fonction recursive peut se charger du boulot.

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Houps,

    Dans votre exemple, pouvez vous m'expliquer à quoi correspond l'élément 'ligne', et par exemple, où est le 'h' en hiérachie niveau 2?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    2	f	Matériel nécessaire pour la ligne 4
    2	g	Matériel nécessaire pour la ligne 4
    3	i	Matériel nécessaire pour la ligne 6
    3	j	Matériel nécessaire pour la ligne 6
    2	h	Matériel nécessaire pour la ligne 4

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Par défaut
    @Deedolith: la colonne description n'existe pas en vrai, une recherche sur la colonne "composant" serait envisageable?



    @vinc_bilb: le "ligne" correspond à la ligne de l'excel. Par exemple, l'élément 'h' nécessite le composant k (qui lui-même requière les composants 'l' et 'm' (mais je ne veux pas que 'l' et 'm' soient repris comme composants nécessaires pour 'h', puisqu'ils seront induits grâce à 'k'.)

    Et ce composant 'h' est nécessaire pour le composant 'c' (d'où la ligne 4). Cet élément 'c' est le premier élément de la hiérarchie supérieure (on passe de hiérarchie 2 à 1) en remontant la colonne.

    Si vous avez des questions, n'hésitez pas! Merci de votre temps et votre compréhension

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Houps ....

    1. Estes vous sur que votre résultat espéré (composants versus parents) est correct, en particulier cellule L10? Lien c <->k?)
    2. Si j'ai compris (questionable), j'arrive à quelque-chose du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Hierach Level				
    0	1	2	3	4
    a	b	(Rien)		
    	c	f	(Rien)	
    		g	i	(Rien)
    			j	(Rien)
    	d	(Rien)		
    	e	(Rien)

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 513
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 513
    Par défaut
    Citation Envoyé par pklein Voir le message
    @Deedolith: la colonne description n'existe pas en vrai, une recherche sur la colonne "composant" serait envisageable?
    Houla, je vais chercher un rail de coke et je revient

    Je recapitule:
    Tu ne dispose que des colonnes Hierarchie et Composant.
    La colonne Hierarchie indique l'eventuelle relation parent / enfant des objets.
    La colonne Composant indique le nom d'un objet (ou article si tu preferes).

    Le parent d'un enfant est le premier objet dont la N° de hierarchie est inferieur de 1, en remontant la liste.

    Donc, si j'ai bien compris, avec ton exemple on obtient une hierarchie comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    a ==> b
    a ==> c ==> f
    a ==> c ==> g
    a ==> c ==> g ==> i
    a ==> c ==> g ==> j
    a ==> c ==> h
    a ==> c ==> h ==> k
    a ==> c ==> h ==> k ==> l
    a ==> c ==> h ==> k ==> m
    a ==> d
    a ==> e

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2005] Colonne dérivée (Condition sur une colonne)
    Par Bb.siham dans le forum SSIS
    Réponses: 0
    Dernier message: 26/04/2011, 16h39
  2. [XL-2003] Macro avec boucle sur une colonne et condition sur une autre
    Par Isabelle86 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/10/2010, 10h31
  3. Condition sur une colonne
    Par ahmedmido dans le forum SharePoint
    Réponses: 2
    Dernier message: 19/08/2008, 11h08
  4. Mettre une condition sur une colonne en splitant une partie ?
    Par wormseric dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/01/2008, 11h57
  5. Réponses: 3
    Dernier message: 03/05/2007, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo