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 à 3 conditions


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Technicienne en administration
    Inscrit en
    Mai 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en administration
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 2
    Par défaut Macro à 3 conditions
    Bonjour,

    Je veux faire une macro qui supprimera les lignes à la condition que cela remplissent les trois conditions suivantes:

    Si dans la colonne I il y d'écrit "AVR-16" et
    Si dans la colonne AG il y a d'écrit un "Y" et
    S'il n'y a rien d'écrit dans la colonne AJ et seulement les lignes qui remplissent ces trois conditions.

    Mon problème c'est que d'un mois a l'autre je n'ai jamais le même nombre de ligne.

    J'ai fait cette macro MAIS elle ne n'exécute pas la troisième condition car j'ai toujours les lignes qui n'ont rien d'écrit dans la colonne AJ qui ont un Y a AG et qui sont AVR-16 en colonne I.
    pourriez-vous s.v.p me dire ce qui ne fonctionne pas dans ma macro?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim Dernligne As Long
    Dernligne = ActiveSheet.range("A" & Rows.Count).End(xlUp).Row
    For N = Dernligne To 1 Step -1
    If range("A" & N) <> "" And range("I" & N) = "AVR-16" And range("AG" & N) = "Y" And range("AJ" & N) = "" Then
    Rows(N & ":" & N).Select
    Selection.Delete Shift:=xlUp
    End If
    Next N
    peut-être ce serai mieux avec un filtre??? Je suis qu'une débutante en macro. J'avais déjà fait cette macro mais seulement avec les deux premières conditions.

    Je vous remercie beaucoup de votre aide c'est grandement appréciée.

  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,
    si je me réfère à ton énoncé, cette condition n'est pas prévue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If range("A" & N) <> ""...
    donc je traduis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Dernligne As Long
     Dernligne = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
     For N = Dernligne To 1 Step -1
        If  Range("I" & N) = "AVR-16" And Range("AG" & N) = "Y" And Range("AJ" & N) = "" Then
           Rows(N ).Delete Shift:=xlUp
        End If
     Next N
    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
    Candidat au Club
    Femme Profil pro
    Technicienne en administration
    Inscrit en
    Mai 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en administration
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 2
    Par défaut Macro a 3 conditions
    Bonjour,

    Je voulais dire au début de la macro que tant qu'il y a quelque chose d'écrit dans la colonne A fait moi supprimer les lignes qui remplissent les trois conditions seulement soit:


    Supprimer toutes les lignes qui remplissent ses trois conditions soit:

    Dans la colonne I c'est inscrit "AVR-16"
    Dans la colonne AG c'est inscrit "Y"
    et dans la colonne AJ "il n'y a rien d'inscrit".

    Mon code ne fonctionne pas. Je ne suis peut-être pas obliger de dire tant qu'il y a quelque chose d'inscrit dans la colonne A.

    Je voudrais seulement que l'on supprime toutes les lignes qui ont les trois conditions et ce même si mon tableau varie du nombre de lignes.
    C'est jamais pareil d'un mois a l'autre.
    J'ai essayé le code que tu as inscrit mais j'ai une erreur sur le For N qui dit variable non défini.

    Merci beaucoup de votre aide.

  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
    J'ai essayé le code que tu as inscrit mais j'ai une erreur sur le For N qui dit variable non défini.
    Bien sur, il faut penser à déclarer les variables, en début de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim N as Long'ou Integer selon...
    quand tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dernligne = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
    donc tu n'es pas obligé de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If range("A" & N) <> ""...
    à moins que dans la plage certaines cellules en A sont vides
    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...)

Discussions similaires

  1. Interface, macro et condition
    Par Misspatate dans le forum SAS AF et formulaires
    Réponses: 8
    Dernier message: 26/04/2009, 03h50
  2. Macro avec conditions de sorties
    Par vivicente dans le forum VBA Access
    Réponses: 5
    Dernier message: 11/06/2008, 14h39
  3. macro checkbox condition
    Par omlov88 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2008, 14h47
  4. Macro avec condition
    Par ANTMA dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 07/12/2007, 19h38
  5. exécution d'une macro avec condition
    Par casavba dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/08/2007, 15h44

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