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 :

Selection Lignes conditions avec VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Janvier 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Selection Lignes conditions avec VBA
    Bonjour,

    Je decouvre VBA et j'essaie de developper une Macro qui me serait tres utile.

    J'ai deux feuilles dans un meme fichier.
    Je veux comparer la valeurs des cellules en colonne B de la Feuille 2 avec la plage de valeurs de la colonne A de la Feuille 1.

    Si pas de correspondance = on efface toute la ligne correspondante dans la Feuille 2.

    Si il y a correspondance, je veux ensuite comparer la date de la commande dans la colonne C de la Feuille 2 avec la periode d'inscription precisee dans la Feuille 1 (colonne B et C).

    Si la commande a ete effectuee durant cette periode je garde la ligne, sinon j'efface toute la ligne.

    Pour le moment j'en suis toujour sa la premiere partie... Et ca ne donne pas ce que je souhaite...

    Pouvz vous m'aider?

    Un grand Merci !
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La fonction EQUIV est parfaite pour comparer, matcher des données dans un tableau Excel. Elle renvoie la position d'une valeur cherchée dans une ligne ou une colonne.
    Une fois cette données trouvée on peut agir ou pas en fonction de ce que l'on souhaite faire

    Billets / tutoriel illustrant l'utilisation de cette fonction

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Janvier 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour cette reponse.
    Cependant je cherche a faire un dev. en VBA afin de l'associer a un bouton pour etre utiliser facilement par tous.
    Je veux donc automatiser la demarche souhaitee comme decrite dans mon premier message.

    Merci pour vos reponses et votre aide

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Cependant je cherche a faire un dev. en VBA afin de l'associer a un bouton pour etre utiliser facilement par tous.
    Je veux donc automatiser la demarche souhaitee comme decrite dans mon premier message.
    Il est tout à fait possible d'utiliser la fonction EQUIV d'Excel dans VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.WorksheehtFunction.Match
    ou
    suivi de ces arguments

    ou encore placer la fonction Excel (en anglais) dans la fonction Evaluate de VBA

    [EDIT]
    et rien ne t'empêche d'insérer une colonne temporaire dans l'une des tables à comparer en y intégrant la formule (deux lignes de code en VBA, Insertion de la colonne et insertion de la formule) et ensuite récupérer tous les True dans une table et ensuite exécuter la procédure souhaitée et enfin supprimer la colonne
    Bien plus simple à mettre en place

  5. #5
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Points : 2 491
    Points
    2 491
    Par défaut
    Voici une solution simple applicable à un petit échantillon; si vos données dépassent la 100aine, il y a lieu d'optimiser le code en évitant les mots clefs comme "Select" et en évitant la mise à jour de l'écran (via Application.ScreenUpdating = False)
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Supprimer des lignes Excel selon plusieurs conditions avec VBA
    Par StVenum dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/01/2017, 14h04
  2. [XL-2007] Selection plage de cellules avec condition en VBA
    Par Neilah dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/10/2016, 14h31
  3. [XL-2010] selection ligne avec condition
    Par py86acces dans le forum Excel
    Réponses: 4
    Dernier message: 15/10/2014, 19h45
  4. Suprimer lignes vides avec VBA Excel 2003
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/11/2008, 22h27
  5. Réponses: 4
    Dernier message: 13/02/2006, 12h13

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