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 :

Chercher l'existance d'une liste dans une autre (par macro en VBA)


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Novembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Novembre 2019
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Chercher l'existance d'une liste dans une autre (par macro en VBA)
    Bonjour,

    Je débute en VBA et j'aurais besoin d'aide pour résoudre un problème.
    Je dispose d'un tableau à 3 colonnes. La première contient des numéros de téléphone (fictifs) d'un annuaire. La deuxième contient des échantillons de numéro de téléphone.

    Ce que je voudrais faire c'est, par l'appui sur un bouton et de manière automatique, afficher dans la colonne C si le numéro de la colonne B existe dans la colonne A.
    L'autre difficulté serait que la macro soit adaptable à n'importe quelle longueur de tableau.

    Avez-vous des idées de comment faire ?

    Merci d'avance pour vos retours.

    PS : Le fichier exemple est en pièce jointe.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné
    Inscrit en
    Septembre 2007
    Messages
    1 132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 132
    Points : 1 803
    Points
    1 803
    Par défaut
    Bonjour,
    Citation Envoyé par Gex-88 Voir le message
    Je débute en VBA et j'aurais besoin d'aide pour résoudre un problème.
    Ce n'est pas très utile de te pencher sur le vba pour résoudre ta demande qui se fait très bien par formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI($A:$A;B2)>0;"Oui";"Non")
    Fichiers attachés Fichiers attachés

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Novembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Novembre 2019
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Bonjour Anasecu et merci de ta réponse.

    Pour mon cas, l'utilisation d'un bouton est nécessaire (et je ne dois pas modifier manuellement le tableau).

    Cela dit, l'utilisation de la formule fonctionne très bien. Je l'ai d'ailleurs utilisé grâce à l'enregistreur de macro.

    J'aimerais cependant optimiser ma macro pour que la taille de la colonne C s'adapte à celle de la colonne B.

    Aurais-tu une idée de comment faire ?

    Mon code actuelle est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Test()
    '
    ' Test Macro
    '
        Range("C2").Select
        ActiveCell.FormulaR1C1 = "=IF(ISNA(MATCH(C[-1],C[-2],0)),""Non"",""Oui"")"
        Range("C2").Select
        Selection.AutoFill Destination:=Range("C2:C10000"), Type:=xlFillDefault
        Range("C2:C10000").Select
     
    End Sub
    Merci d'avance.

  4. #4
    Membre chevronné
    Inscrit en
    Septembre 2007
    Messages
    1 132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 132
    Points : 1 803
    Points
    1 803
    Par défaut
    Bonjour,
    Citation Envoyé par Gex-88 Voir le message
    Pour mon cas, l'utilisation d'un bouton est nécessaire
    Dans ce cas, installes ta formule par macro avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Test()
    '
    ' Test Macro
    '
        Range("C2:C" & Cells(Rows.Count, "B").End(xlUp).Row).FormulaR1C1 = "=IF(ISNA(MATCH(C[-1],C[-2],0)),""Non"",""Oui"")"
        Range("C:C").ColumnWidth = Range("B:B").ColumnWidth
    End Sub
    Fichiers attachés Fichiers attachés

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Novembre 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Novembre 2019
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    ça marche très bien.

    Merci beaucoup !

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

Discussions similaires

  1. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  2. Réponses: 6
    Dernier message: 11/06/2008, 16h35
  3. Comment déplacer une tache sous une autre par Macro
    Par yoyo173fr dans le forum VBA Project
    Réponses: 0
    Dernier message: 09/06/2008, 16h25
  4. Réponses: 17
    Dernier message: 12/07/2006, 22h04
  5. Réponses: 2
    Dernier message: 08/06/2006, 13h38

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