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 :

Conversion de valeur suivant tableau de conversion [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Par défaut Conversion de valeur suivant tableau de conversion
    Bonjour à tout le monde,

    Bon aujourd’hui je me remets un peu à Excel après plus de 4 ans de non utilisation (ou peu d'utilisations).

    Pour aller directement au sujet, j'aimerais savoir comment en VBA je peux parcourir un tableau qui contient des valeurs de conversions afin de convertir des données à la demande.

    Voici un petit fichier excel pour mieux comprendre:

    Conversion.xlsx

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Est-ce que tu pourrais nous expliquer ton problème sans PJ, stp ? Cf. : https://www.developpez.net/forums/d8...s-discussions/
    En général, en programmation, quand on veut parcourir quelque chose, on utilise une boucle.

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    en général dans un tel cas on évite les boucles au profit de l'existant d'Excel et ce même en VBA …

    ___________________________________________________________________________________________________________
    Je suis Paris, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  4. #4
    Membre confirmé Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Par défaut Explications
    Bonjour riaolle and Marc-L,

    Merci pour vos commentaires et remarques.
    Je n'avais pas vu cette charte encore donc merci riaolle. Cela à du sens et du bon

    Bon revenons à mes petits moutons ^^

    En fait j'ai dans un onglet un tableau de conversion des min en heure en jour et en mois afin de convertir des unités de temps dans un sens et dans l'autre (exp. min en jour ou encore jour en heur...). ce tableau de conversion me permet de jouer sur deux valeurs précisent qui sont:

    1. le nombre d'heure (de travail) par jour
    2. le nombre de jour de travail par mois (moyenne pour une année considérée)


    Ensuite, j'aimerai pouvoir dans ce même onglet excel pouvoir créer un tableau exemple comme dans le fichier joint plus haut de la colonne A à la colonne E avec les noms de colonnes suivants:
    • ID (numéro de ligne de référence)
    • Topic (sujet concerné)
    • Valeur (est un nombre de 0 à l'infini avec ou sans virgule qui exprime une quantité)
    • Unité (une liste déroulante dans cette colonne permet d'indiquer si le nombre dans la colonne Valeur est exprimé en min, heure, jour, mois, année)
    • Conversion à partir de la ligne (qui si cette la valeur dans cette colonne est vide pour une ligne ID donnée ne produira rien sinon le numéro qui y est indiqué représenterait le numéro dans la colonne ID et la conversion se ferait).


    De plus il me faudrait ajouter par exemple 3 colonnes à droite de la colonne E (Conversion à partir de la ligne):
    • la première qui retournerait la valeur convertie
    • la deuxième qui indiquerait vers quelle unité de mesure cette valeur doit être converti
    • la troisième colonne - "mémoire" - qui permettrait de remettre les valeurs choisies dans la colonne F si la cellule A1 est remise à vide.


    J'ai aussi imaginé qu'il pourrait y avoir dans la cellule A1 une liste déroulante des unités qui forcerait toutes les valeurs de la deuxième colonne mentionnée ci-dessus en la valeur qui serait alors indiqué dans cette cellule (et tout ça dynamiquement).

    Bien sûr des explications si vous pouvez m'aider seraient les bienvenues

    En pièce jointe je vous mets le fichier excel en version 2.
    Conversion.2.xlsx

    Merci pour toute votre aide et patience !
    Cordialement,
    Paloma

  5. #5
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Re-bonjour,
    Est-ce que tu pourrais nous expliquer ton problème sans PJ, stp ? Cf. : https://www.developpez.net/forums/d8...s-discussions/
    ...
    Je n'avais pas vu cette charte encore donc merci riaolle. Cela a du sens et du bon.
    ...
    comme dans le fichier joint ... En pièce jointe je vous mets le fichier excel en version 2.


    Est-ce que ce serait qqc comme cela ?
    Nom : conversion.png
Affichages : 1460
Taille : 9,7 Ko
    Avec un mélange INDEX/EQUIV ?

  6. #6
    Membre confirmé Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Par défaut
    Bonjour riaolle,

    Oui je sais j'ai encore mis le fichier attaché car mon sujet est plutôt long et je ne suis pas sûr que juste avec mon texte cela soir suffisant.
    Sinon votre solution est une bonne piste de départ mais ne répondra pas à ma question de base qui est de convertir des données à la demande de façon "dynamique".

    Je pense que seule le vba devrait pouvoir résoudre cela.
    Donc un equivalent de INDEX/EQUIV en vba devrait déjà aider je vais essayer de creuser cela.

    Sinon j'ai essayé sur mon fichier mais ma formule ne fonctionne pas, il faut que j'essaye de comprendre où cela cloche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =B4*INDEX(K3:P8,MATCH(D4,timevalue,0),MATCH(G4,L3:P3)-8)

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

Discussions similaires

  1. Extraction valeur suivant plusieurs valeurs dans un tableau
    Par fabibou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2007, 19h02
  2. [Tableaux] recuperation valeurs dun tableau ou d'un array
    Par pascale86 dans le forum Langage
    Réponses: 5
    Dernier message: 11/10/2005, 16h14
  3. [vbscript] valeur dans tableau ?
    Par niglo dans le forum ASP
    Réponses: 3
    Dernier message: 08/06/2005, 13h26
  4. [Collections] Conversion de Vector en tableau de String
    Par java_math dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/06/2004, 12h55
  5. [CR9] conversion de valeurs NULL
    Par ministry dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 12/09/2003, 11h41

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