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 :

Condition Macro Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2014
    Messages : 51
    Par défaut Condition Macro Excel
    Je débute dans la macro excel, il y a certaines manip que je n'arrive pas à trouver, en espérant que certaines personnes parmi vous soient assez callés ..

    J'aimerais installer une condition

    C'est à dire

    J'aimerais que si dans la colonne L

    Il y a marqué "RESTREINT" dans une des cases, dans ce cas

    dans la case K il y a marqué "DESTINATAIRE"

    Ou si dans la colonne L une case contient "INTERNE",

    dans ce cas la case K contiendrait "ECM"

    Exemple :

    Si L6 = RESTREINT alors K6 = DESTINATAIRE

    ou si L86 = INTERNE alors K86= ECM


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sheets("Export").Select
    If [L3= RESTREINT] Then [K3= EDF]
    ElseIf [L3=INTERNE] Then [K3=DESTINAIRES]
    End If
    Sheets("Export").Select
    Dim note As Integer, commentaire As String
        note = Range("L3")
    'Commentaire en fonction de la note
        If note = INTERNE Then
    commentaire = "ECM"
        ElseIf note = RESTREINT Then
            commentaire = "DESTINATAIRES"
        End If
        Range("K3") = commentaire
    J'ai essayé ça, mais en vain...

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour et Bienvenu,

    certaines personnes parmi vous soient assez callés
    Ne t'inquète surtout pas, les Daniel, Philippe, mercatog et autres pgz le sont très largement.

    Pour ton cas, sans VBA, je pense qu'une table à laquelle se référerait un fonction RechercheV, ou une combinaison d'Index et Equiv, conviendraient parfaitement.

    Sinon, en VBA la meiileure solution serait plutôt la gestion des cas par la méthode .

  3. #3
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2014
    Messages : 51
    Par défaut
    D'accord merci en tout cas, bien que je n'ai pas tout à fait tout saisi

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Précise ta question. Que n'as-tu pas saisi?

    As-tu essayé? Si tu utilises un code, sur quoi buggue-t-il?

    Et surtout, as-tu cherché?

  5. #5
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2014
    Messages : 51
    Par défaut
    Je n'ai pas saisi ce que je pouvais essayer comme formule, j'ai essayé celle que j'ai écrite plus haut, mais elle n'a pas fonctionné, et je n'ai pas compris la solution que vous me proposiez.
    Oui je fais que ça chercher sur des sites, forums à droite à gauche

  6. #6
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour Enzo
    Essayes ce code, j'ai mis le fichier en pièce jointe, et dis moi si cela répond à ta demande.
    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
    17
    18
    19
    20
    21
    Option Explicit
     
    Sub Choix_Colonne()
    Dim data As Worksheet
    Dim Col As Range
    Dim i As Integer
    Set data = ThisWorkbook.Sheets("Data")
    i = 1
     
       Do While data.Cells(i, 12) <> ""
     
                        If data.Cells(i, 12) = "RESTREINT" Then
                        data.Cells(i, 11) = "EDF"
                        ElseIf data.Cells(i, 12) = "INTERNE" Then
                        data.Cells(i, 11) = "DESTINATAIRE"
                        End If
                        i = i + 1
     
         Loop
     
    End Sub
    Fichier Joint :

    Condition Colonne.xlsm


    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  7. #7
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2014
    Messages : 51
    Par défaut
    J'ai donc essayé ca :

    Lien screen :
    http://www.imagebam.com/image/e3756e....jpg%5B/IMG%5D

    Mais ma colonne K n'a pas bougé..
    Lien screen 2
    http://www.imagebam.com/image/44413d...22imagebam.com

    Je présume que j'ai dû oublier de rajouter des données, mais j'arrive pas à trouver lesquelles,
    désolé de pas avoir tt compris, je débute, en tt cas c'est très gentil de votre part de m'aider

    Je pense que c'est parce que j'ai pas rajouté les données

    la feuille se nomme "Export"
    Les données se trouvent dans la colonne L
    et doivent être reportées ds la colonne K

    Mais je sais pas ou noter tt ca (anglais à désirer)

  8. #8
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Enzo
    Dans ton cas il faut remplacer la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set data = ThisWorkbook.Sheets("Data")
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set data = ThisWorkbook.Sheets("Export")
    Il faut effectivement que tu ai des données en colonne L, j'ai codé en supposant qu'il n'y avait pas de cellule vide dans ta colonne(c'est à dire il ne faut pas L4 remplie, L5 vide, L6 remplie).
    Le code parcourt la colonne L jusqu'à la dernière cellule non-vide
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  9. #9
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Eric,

    Je persiste à dire que la méthode est la plus adaptée car plus lisible.

    D'autre part, et si je peux me permettre, il est de bon aloi de libérer les variables en fin de procédure.

    Ici


  10. #10
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2014
    Messages : 51
    Par défaut
    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
    17
    18
    19
     Option Explicit
     
    Sub Choix_Colonne(L)
    Dim data As Worksheet
    Dim Col As Range
    Dim i As Integer
    Set data = ThisWorkbook.Sheets("Export")
    i = 1
     
       Do While data.Cells(i, 12) <> ""
     
                        If data.Cells(i, 12) = "RESTREINT" Then
                        data.Cells(i, 11) = "EDF"
                        ElseIf data.Cells(i, 12) = "INTERNE" Then
                        data.Cells(i, 11) = "DESTINATAIRE"
                        End If
                        i = i + 1
     
         Loop
    J'ai procédé comme cela, mais cela ne fonctionne toujours pas, j'ai le droit au message d'erreur : "cette commande va arrêter le deblogueur"

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

Discussions similaires

  1. Condition Macro Excel 2
    Par EnzoExcel dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/12/2014, 14h55
  2. Macro Excel Somme sous condition
    Par nduverger dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 17/11/2014, 19h13
  3. Macro MEFC plus de 3 conditions sous excel 2003
    Par Kestion100 dans le forum Macros et VBA Excel
    Réponses: 26
    Dernier message: 11/02/2014, 10h32
  4. [XL-2007] Macro excel selon 2 conditions
    Par playa2 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/01/2013, 20h10
  5. Réponses: 2
    Dernier message: 06/01/2011, 16h35

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