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 :

Ajout de Critères dans une Macros "Dictionnaires"


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Ajout de Critères dans une Macros "Dictionnaires"
    Bonjour à tous,

    J'ai une macro avec les dictionnaires j'aimerai y insérer les deux critères suivant :
    - Feuille : régime 2 → Le panier doit contenir les éléments du régime 2 (colonne a ) qui sont validée par le docteur : "OK" (colonne v)
    - Feuille : Réfrigérateur → Le panier ne doit pas contenir les éléments du réfrigérateur (colonne F ) avec un "OUI" ( Colonne AE )

    Voici le bout de la macro après modification qui ne fonctionne pas :

    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
    22
    23
    24
     
    For Each wsh In ThisWorkbook.Worksheets  
      If LCase(wsh.Name) Like "Régime 2" Then 
        With wsh    
          t = .Range("a1:v" & .Cells(.Rows.Count, "a").End(xlUp).Row).Value   
          For i = 3 To UBound(t)  
            If Range("v") = "OK"
            If Not dicoFrigo.Exists(t(i, 1)) Then dicoPanier(t(i, 1)) = t(i, 1)
          Next i
        End With
      End If
    Next wsh
     
    For Each wsh In ThisWorkbook.Worksheets  
      If LCase(wsh.Name) Like "Réfrigérateur" Then 
        With wsh    
          t = .Range("f:ae" & .Cells(.Rows.Count, "f").End(xlUp).Row).Value   
          For i = 3 To UBound(t)  
            If Range("ae") = "OUI"
            If Not dicoPanier.Exists(t(i, 1)) Then dicoPanier(t(i, 1)) = t(i, 1)
          Next i
        End With
      End If
    Next wsh
    Merci d'avance à tous.

  2. #2
    Membre actif
    Homme Profil pro
    Ancien Etudiant
    Inscrit en
    Janvier 2019
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ancien Etudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 152
    Points : 224
    Points
    224
    Par défaut
    Bonjour,

    Le code serait plus lisible s'il était indenté et mis entre balise [code].
    Il y a certainement des messages d'erreur qui devraient vous mettre sur la voie, d'autant que les lignes en erreurs sont surlignées jaunes.

    Pour le premier bloc de code:

    1) pas sûr de comprendre l'origine et la finalité du dico "dicoFrigo".

    2)
    la syntaxe de la ligne n'est pas correcte : manque then ; et dans Range("v") il manque l'indication de la ligne.
    puisque qu'on a un tableau (t = .Range("a1:v" & .Cells(.Rows.Count, "a").End(xlUp).Row).Value ) lire directement dedans la valeur de la colonne V:
    3)
    Ce n'est pas la peine de balayer toutes les feuilles pour n'avoir des actions que sur une seule. Utiliser With Worksheets("Régime 2") à la place de With wsh, et supprimer la boucle

    4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If LCase(wsh.Name) Like "Régime 2" Then
    LCase "transforme" une chaine en minuscule, LCase(wsh.Name) ne pourra jamais être égal à une chaine commençant par une majuscule.
    Cette ligne n'est plus nécessaire de par le 3)

    Pas regardé le reste .

    A+

Discussions similaires

  1. [XL-2007] Problème dans une macro pour ajouter une date
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2015, 20h28
  2. Macro création fichier Excel à partir de critères dans une colonne
    Par Slackk dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/04/2014, 17h40
  3. Réponses: 0
    Dernier message: 03/04/2014, 14h50
  4. [Toutes versions] Ajout d'un critère dans une formule matricielle
    Par Olivm dans le forum Excel
    Réponses: 5
    Dernier message: 10/05/2011, 09h05
  5. Commande pour ajouter une sauvegarde dans une macro
    Par Tinien dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/09/2008, 14h03

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