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 :

Macro d'extraction de valeurs mesurées


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut Macro d'extraction de valeurs mesurées
    Bonjour,

    j'ai un protocole de mesure qui me donne en sortie un fichier dans lesquels il y a des paramètres et quelques valeurs noyées dedans.

    ces valeurs, quand elles existent, sont toujours précédées de la même ligne, mais il peux y avoir selon les cas 1,2,3,4 ou 5 lignes de valeur qui se suivent.

    J'aimerais extraire uniquement ces valeurs.

    comment puis-je faire pour écrire :

    je cherche la valeur "a" dans la collone B, quand je la trouve je copie-colle la ligne située 10 lignes en dessous ?

    d'avance merci pour votre aide

    excel 2010

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    si j'ai bien compris :

    "je cherche la valeur "a" dans la colonne B"
    tu cherches des "valeurs" qui sont en colonne B, avec pour point de repère la donnée "a" de la cellule qui est juste au dessus car elle est toujours identique ?
    Donc on doit juste travailler sur la colonne B, tu ne cherches rien dans les autres colonnes ?


    quand je la trouve je copie-colle la ligne située 10 lignes en dessous
    Quand tu trouves ta cellule qui contient "a" (le point de repère), tu veux copier la ligne complète qui est située 10 lignes en dessous... mais pour la coller où ?
    si tu copie-colle en même temps....ben en gros tu fais rien d'autre que remplacer la valeur de la ligne...par sa valeur initiale.

    Je suis fatigué où bien je suis pas le seul à avoir du mal à comprendre la demande car interprétable de plusieurs manières ?

    Je pense pouvoir t'aider pour cette demande (pour une fois... ), mais j'ai besoin de clarifications

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    bonjour,

    merci de ton aide.

    j'ai ajouté un fichier csv exemple pour mieux comprendre

    je recherche une valeur dans la colonne B ( entouré en rouge)

    et je veux alors copié ce qu'il ya quelques lignes en dessous ( en rouge également)

    et faire ça pour plusieurs valeurs de la colonne B.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    csv n'est pas un format valide pour les pièces jointes :

    Fichiers attachés
    Extensions de fichiers valides: 7z as asm asp aspx bz2 c cpp cs css doc docx fla gif gz h hpp htm html java jpeg jpg js ods odt pas pdf php pl png psd py rar sql swf tar tex txt vb xls xlsx xml xsd xsl xslt zip

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    je viens de voir ça oui, j'ai fait une version xls ci dessus.

    en jaune les valeurs recherchés en colone B , qui sont donc le déclencheur.

    et en dessous, colonne E et F les valeurs à copié collé ailleurs.

    comme tu peux le voir, l'écart entre la valeur de B et les valeurs a récupérer est toujours le meme.

    par contre les valeurs à récupérer peuvent être sur 1, 2,3, 4 lignes..


    et effectivement l'idée est de les coller dans un autre onglet à la suite les unes des autres.

  6. #6
    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 utilisant l'Enregistreur de macros, tu sélectionnes la colonne B puis tu utilises la fonction de recherche sur la valeur désirée
    et enfin tu copies ailleurs, te donnant ainsi une base de code facilement adaptable …

    Si tu as déjà un code, merci de le publier et de nous indiquer à quel endroit tu coinces …

  7. #7
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    bonjour l'enregistreur de macro sort des résultats impossible à retravailler derrière, j'ai essayé sur plusieurs problèmes ça n'a jamais bien rien donné.

    mon besoin est aussi,non pas sur un fichier , mais sur une multitude de potentiel fichiers, l'enregistreur de macro ne prendrais pas en compte les "possibilités".

    [edit]

    remarque il faudrait que cette fonction "search" me renvoi juste une valeur de positionnement et je pourrais peut être m'en sortir..

    je vais essayer tien. merci

    alors l'enregistreur de macro me donne ceci pour la partie search :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cells.Find(What:="3151", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
    est ce qu'on peut retrouver là dedans une info sur la position de la cellule trouvée?

  8. #8
    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
    Comme indiqué dans l'aide de la méthode Find, un objet Range correspondant à la cellule trouvée est renvoyé …

    Il faut donc regarder dans l'aide de Range ses propriétés !

    Comme Address, Column, Offset, Row et j'en passe …

    T'as tout sous le coude ! Tout dépend de ton analyse de comment procéder …

  9. #9
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    ok

    moi j'avais ceci au final


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Bouton5_Cliquer()
     
    addresse1 = Cells.Find("3157", , xlValues).Address
     
    End Sub
    mais effectivement si je reprend ce que tu me dis et que j'arrive à obten ir les coordonnes x,y de la cellule recherchée, je devrais pouvoir m'en sortir.

  10. #10
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut macro d'extraction de valeurs messurées
    bonjour,

    Ne peut-on utiliser equiv (match en VBA) qui renvoie me semble t-il la position recherchée ?

    Petite curiosité : Est-il envisageable que la valeur recherchée soit en double voire davantage ?
    Si oui, que faire ?

    Cordialement,

  11. #11
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    bonjour,

    non la valeur recherchée ne sera jamais en double. et elles seront toujours organisées dans le même ordre. valeur 1 valeur 2, etc

    je ne connais pas match,

    à vrai dire je ne trouves même pas dans les aides comment récupérer la position x,y du Range que la fonction find renvoie.

  12. #12
    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
    Et pourtant je te les ai données dans le post #9 ‼

    Mais la bonne question est ce que tu comptes en faire … Ton analyse ?

    Je te renvoie sur une discussion récente où en se posant les bonnes questions on arrive à une solution simple et efficace :

    Problème 1004 Petite Macro Excel

    D'où l'intérêt d'une bonne mise à plat au préalable au lieu de foncer tête baissée !

  13. #13
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    c'est terrible ça.

    si je te dis que je ne trouves pas malgré tes indications c'est que je n'ai pas les connaissances pour faire le lien entre mon besoin et tes infos.

    pourquoi tu rabaisses les gens comme ça? est ce que j'ai été désagréable avec toi?

  14. #14
    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
    Citation Envoyé par mattchoco Voir le message
    à vrai dire je ne trouves même pas dans les aides comment récupérer la position x,y du Range que la fonction find renvoie.
    Et pourtant précédemment :
    Citation Envoyé par Marc-L Voir le message
    Il faut donc regarder dans l'aide de Range ses propriétés !

    Comme Address, Column, Offset, Row et j'en passe …

    T'as tout sous le coude ! Tout dépend de ton analyse de comment procéder …
    Suffit donc de lire …

    Et qui plus est la solution est aussi dans le lien de la discussion …


    P'tit rappel : ce forum est là pour aider à résoudre des points précis et particuliers, pas à donner des applications toutes faites …
    Donc il faut commencer par présenter ce que tu as fait et expliquer les points que tu souhaites aborder ou corriger.

    Or justement, tu ne fais rien malgré les indications fournies.

    Montre au moins la progression de ton code et présente clairement et exhaustivement ton besoin …
    Citation Envoyé par mattchoco Voir le message
    j'ai un protocole de mesure qui me donne en sortie un fichier dans lesquels il y a des paramètres et quelques valeurs noyées dedans.

    ces valeurs, quand elles existent, sont toujours précédées de la même ligne, mais il peux y avoir selon les cas 1,2,3,4 ou 5 lignes de valeur qui se suivent.

    J'aimerais extraire uniquement ces valeurs.
    Lesquelles ? Quels sont les cas ? Les critères sortent d'où, d'un chapeau ? Comment déduire le nombre de lignes ?

    Sans plus de précision, ce n'est plus Mandrake mais Merlin qu'il te faut !

  15. #15
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    regarde le post #5, j'ai essayé de donner un exemple simple et précis.

    j'ai ajouté un fichier excel pour bien voir la problématique aussi.

  16. #16
    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
    Déjà vu mais par trop imprécis, comme par exemple ailleurs et tu n'expliques aucun critère de sélection de ligne …

    Sinon joe.levrai - ou un autre - aurait déjà répondu …

    Je vais bientôt être off-line pratiquement pour le reste de la journée …

  17. #17
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    le critère c'est la valeur dans les cases en jaune de la colonne B.

    si on prend le fichier ça veux dire :

    je recherche la valeur "3151" dans la colonne B, lorsque je l'ai trouvé je vais relevé les valeurs situées 10 lignes en dessous et 3,4 colonnes à droite.
    pour les copié et les coller dans un autre onglet en A1 pourquoi pas.

    et après refaire la recherche pour une autre valeur , par exemple "3157",
    et refaire la même manip ce copié collé.

  18. #18
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut macro d'extraction de valeurs messurées
    Bonjour Mattchoco,

    Pour equiv ou match je te recommande sur le net "formation JacquesBoisgontiers" qui t'aidera davantage que moi qui ne suis pas très doué en VBA.

    Cette fonction est souvent associée à "index" qui renvoie la valeur recherchée me semble t-il.

    Cordialement

  19. #19
    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

    Je ne parle pas du critère de recherche mais de savoir comment déduire le nombre de lignes à copier et vers ailleurs, super clair !

    Je te cite :
    par contre les valeurs à récupérer peuvent être sur 1, 2,3, 4 lignes.
    Quel est donc ton analyse pour connaitre le nombre de lignes à copier ?

  20. #20
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    bonjour bonjour,

    merci de ta réponse, en cherchant j'arrive à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Bouton5_Cliquer()
     
    addresse1 = Cells.Find("3151", , xlValues).Address
     
    Range(addresse1).Select
     
    ActiveCell.Offset(rowOffset:=10, columnOffset:=3).Activate
     
    End Sub
    je trouve ma cellule et je sélectionne ma première cellule ou je veux faire mon copié collé !!

    pas mal ?!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Macro VBA de recherche et d'extraction de valeur
    Par mattchoco dans le forum Macros et VBA Excel
    Réponses: 42
    Dernier message: 06/07/2013, 23h59
  2. Extraction de valeurs - matrice des distances
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 06/04/2007, 18h14
  3. [VBA-E]Lancer une macro sur changement de valeur cellule ?
    Par jeremiegrenoble dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/03/2006, 15h22
  4. Extraction des valeurs hexa d'un champ char
    Par Krispi dans le forum Fortran
    Réponses: 3
    Dernier message: 21/11/2005, 12h10
  5. [Tableaux] Extraction de valeur dans un tableau
    Par pirouette_07 dans le forum Langage
    Réponses: 6
    Dernier message: 21/10/2005, 18h54

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