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 :

Utiliser INDEX en macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 7
    Par défaut Utiliser INDEX en macro
    Bonjour,


    cela fait un petit moment que je ne me suis pas plongée dans le code VAB et j'aurais besoin de vous.
    Je cherche à pouvoir utiliser la fonction suivante en macro VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX($D:$D, SMALL(IF($J$10=$A:$A, ROW($D:$D)-ROW($D$1)+1), COLUMN(A1)))
    j'ai tenté un début de code suivant:
    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 logicielsmachines()
     
    Dim NbLignestestmacro As Integer
    Dim k As Integer
     
    k = 2
     
    NbLignestestmacro = Application.CountA(Range("'after effect'!A:A"))
     
    Application.ScreenUpdating = False
     
    While k <= NbLignestestmacro
     
    Range("after effect!" & "N" & k).Value = Application.INDEX(Range("after effect!" & "D" & k), SMALL(IF(Range("after effect!" & "J" & k).Value = (Range("after effect!" & "A" & k)), ROW(Range("after effect!" & "D"+1))-ROW(Range("after effect!" & "D"+1), COLUMN(Range("after effect!" & "A1")))
    mais dès lors, j'ai un problème avec la dernière ligne.

    Pourriez-vous m'aider ?


    Merci

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    essayes ce code entre autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("after effect").Range("N" & k).FormulaLocal = "=INDEX($D:$D, SMALL(IF($J$10=$A:$A, ROW($D:$D)-ROW($D$1)+1), COLUMN(A1)))"
    Sheets("after effect").Range("N" & k) = Sheets("after effect").Range("N" & k).Value
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 7
    Par défaut
    merci de votre réponse.

    Le code ci dessus me donne une réplique exacte de la colonne D au lieu de prendre en compte les éléments de la colonne J

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    A toi d'adapter pour les bonnes colonnes, savoir dans quel "range" placer le code, je n'ai repris que ce que tu demandais
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 7
    Par défaut
    J'ai effectivement repris le code et l'ai appliquer selon mes colonnes. Peut-être n'ai je pas été assez claire.

    La formule index me permet de trouver tous les éléments correspondant à une valeur. Par exemple:

    données:

    orange 1
    banane 2
    cerise 3
    orange 4

    résultats:

    orange 1 4


    Ayant beaucoup de données, je souhaiterais pouvoir lancer cette macro

  6. #6
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour,

    Dans votre code initial, vous pouvez remplacer
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.WorksheetFunction.Index
    Cdt

Discussions similaires

  1. Utilisation de la macro XL4 LIRE.DOCUMENT
    Par Bigalo dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 05/02/2008, 20h58
  2. Réponses: 17
    Dernier message: 03/01/2008, 13h40
  3. [VBA] utilisation d'une macro excel 2003 sur excel 2004 for mac
    Par fofika dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2007, 15h30
  4. Utilisation d'une macro d'un autre classeur
    Par madislak dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/07/2006, 14h00
  5. [Sybase] Utilisation indexes sur table Proxy
    Par MashiMaro dans le forum Sybase
    Réponses: 2
    Dernier message: 20/02/2004, 10h20

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