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 :

Application.Match et extraction de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Janvier 2023
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2023
    Messages : 13
    Points : 15
    Points
    15
    Par défaut Application.Match et extraction de données
    Bonjour à tous,

    Je vous écris pour vous faire par de mon soucis qui me bloque tout mon projet VBA :
    Je veux trouver, à partir d'une date rentrée dans une inputbox, la date dans la colonne A (feuille1) qui luit correspond. Puis je veux trouver le nombre sur la même ligne dans a colonne B (feuille1) et coller enfin ce dernier en I6(feuille1):

    Nom : InputBox1.png
Affichages : 97
Taille : 76,0 Ko

    Mais mon code marche pas. Je pense que le problème est du à une histoire de format des variable (mal définis peuêtre) ou aux formats de date ntre l'inputBox et la colonne A qui sont peut-être pas compatible jsp (en effet le format des date de la colonne A est particulier car il contient des heures.

    La macro en question est dans le module 7 mais voici un apperçu :

    Nom : Macro7.png
Affichages : 91
Taille : 38,5 Ko

    Le xlsm complet est dans en pj

    Merci de votre aide il ne me reste qu'une journée pour trouver la solution et j'ai déjà tout tenté j'ai l'impression !
    VOUS ME SAUVERIEZ 🤭
    Projet classeur personnel-1.xlsm

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Attention aux noms des variables (DateTxt ou DateTxt)?

    Le problème est que la colonne A contient les dates et les heures, mais apparemment, on ne voit que les dates. Pour pallier ce problème, le plus simple est de construire une colonne qui extrait uniquement les dates, (colonne qu'on effacera après localisation de la ligne recherchée)

    Essayez ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Partie3()
        Dim DateTxt As String
        Dim NumLigne As Long
        Application.ScreenUpdating = False
        DerLig = Range("A" & Rows.Count).End(xlUp).Row
        DateTxt = InputBox("A partir de quelle date voulez-vous obtenir un classement de performance ?", "Question de parametrage n°2")
        Range("P2:P" & DerLig).FormulaR1C1 = "=TEXT(RC1,""jj/mm/aaaa"")"
        NumLigne = Application.match(DateTxt, Range("P1:P" & DerLig), 0)
        Range("P2:P" & DerLig).ClearContents
        'MsgBox (NumLigne)
        Range("I6").Value = Cells(NumLigne, "B")
        Range("I7").Value = Cells(NumLigne, "C")
        Range("I8").Value = Cells(NumLigne, "D")
        Range("I9").Value = Cells(NumLigne, "E")
    End Sub


    Cdlt

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Janvier 2023
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2023
    Messages : 13
    Points : 15
    Points
    15
    Par défaut Merci
    C'est super ça fonctionne !!!!! Un gros gros GROS MERCI vous êtes super sympa !!!!

    Amicalement
    P-E

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 110
    Points : 1 632
    Points
    1 632
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = False
    C'est quoi ce réflexe inutile ?

  5. #5
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour deedolith,

    C'est vrai que c'est un réflexe (pas une mauvaise habitude) car, dans beaucoup de cas, cela améliore considérablement la vitesse d'exécution et supprime les rafraîchissements de l'écran, dans le cas présent, ce n'est pas forcément nécessaire, mais cela génère-t-il une panne? le code fonctionne-t-il moins bien? Apparemment non!

    J'apporte ma contribution le plus modestement possible et ne possède pas la science infuse, donc je ferai malgré tout, encore et toujours des choses qui pourront choquer les puristes, mais je prête attention aux remarques constructives que l'on me fait et qui me permettent de m'améliorer.

    Entre autres, je viens de m'apercevoir que j'ai oublié une ligne de code pour sortir de la procédure lorsque aucune date n'est saisie dans l'InputBox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub Partie3()
        Dim DateTxt As String
        Dim NumLigne As Long
        'Application.ScreenUpdating = False
        DerLig = Range("A" & Rows.Count).End(xlUp).Row
        DateTxt = InputBox("A partir de quelle date voulez-vous obtenir un classement de performance ?", "Question de parametrage n°2")
        If DateTxt = "" Then Exit Sub
        Range("P2:P" & DerLig).FormulaR1C1 = "=TEXT(RC1,""jj/mm/aaaa"")"
        NumLigne = Application.match(DateTxt, Range("P1:P" & DerLig), 0)
        Range("P2:P" & DerLig).ClearContents
        'MsgBox (NumLigne)
        Range("I6").Value = Cells(NumLigne, "B")
        Range("I7").Value = Cells(NumLigne, "C")
        Range("I8").Value = Cells(NumLigne, "D")
        Range("I9").Value = Cells(NumLigne, "E")
    End Sub
    Cdlt

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 110
    Points : 1 632
    Points
    1 632
    Par défaut
    Je n'insinue pas que ton code est faux ou bogué, juste que cette instruction n'a pas lieu d'être.

    Si tu préfères la version plus "légère":
    "Don't pay for what you don't need."

    Et je me permettrais d'ajouter, qu'il est de notre responsabilité de proposer des solutions aussi qualitatives que possible, car nous servons d'exemple (directement ou indirectement).

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

Discussions similaires

  1. Application.match sur données filtrées
    Par traersa dans le forum Excel
    Réponses: 1
    Dernier message: 19/07/2021, 16h24
  2. Extractions de données SAP vers une application web
    Par Pampasgiolu2b dans le forum SAP
    Réponses: 0
    Dernier message: 14/02/2013, 12h46
  3. Réponses: 2
    Dernier message: 29/06/2010, 08h42
  4. extraction de donnée provenant d'autres applications
    Par Dortan dans le forum Framework .NET
    Réponses: 1
    Dernier message: 07/10/2009, 09h57
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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