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 :

Boucle pour contrôler une plage de données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1
    Par défaut Boucle pour contrôler une plage de données
    Bonjour à tous,

    Je souhaite à partir d'une macro vérifier que les données des cellules d'une plage de données (TabloT) existent bien dans une autre plage de données (tabloD) contenue dans une autre feuille excel.

    Si c'est n'est pas le cas, une msgbox se déclenche pour indiquer que les données sont incorrectes.

    Le code ci-dessous fonctionne, cependant, j'aimerai faire une boucle et éviter dans ma conditionnelle de faire and [...] tabloD(3,1) ...... sachant que ma plage données fait 10 000 lignes !

    Mais je n'arrive pas à créer une 2ème boucle sur le même principe que la 1ère.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Vérif()
     
        tabloD = Sheets("Données").Range("A1:A100000")
        tabloT = Sheets("Tableau").Range("A7:D" & Sheets("Tableau").Range("A" & Rows.Count).End(xlUp).Row)
        For i = 1 To UBound(tabloT, 1)
            If tabloT(i, 1) = 2 Then
                If tabloT(i, 4) <> tabloD(1, 1) And tabloT(i, 4) <> tabloD(2, 1) _
                        And tabloT(i, 4) <> tabloD(3, 1) Then
                    MsgBox "Le contenu de la cellule A" & i + 6 & " est incorrect."
                End If
            End If
        Next i
    End Sub
    Je vous remercie pour votre aide.

  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
    13 173
    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 : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce que tu cherches à faire peut se résoudre simplement avec la fonction native d'excel EQUIV
    Lire ce billet Comment comparer (matcher) des données dans Excel et si tu souhaites exporter les données concernées lire celui-ci Exporter les données comparées (« Matchées »)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Perso, je rajouterai en plus un petit coup de mise en forme conditionnelle pour mettre en rouge les lignes concernées et les repérer plus facilement.

  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
    13 173
    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 : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour Menhir,
    Perso, je rajouterai en plus un petit coup de mise en forme conditionnelle pour mettre en rouge les lignes concernées et les repérer plus facilement
    [C'est exactement ce que j'ai fait dans le billet Comment comparer (matcher) des données dans Excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/02/2021, 16h57
  2. [XL-2010] Macro pour exporter une plage de données d'excel vers outlook
    Par fredouillebb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/09/2017, 17h16
  3. Boucles pour parcourir une colonne, une ligne, une plage de données
    Par camillenze dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/05/2017, 18h20
  4. Problème pour récupérer une plage de données
    Par sincenono dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 17/12/2008, 10h55
  5. [VBA-E] tester la valeur d'une plage de données sans boucle
    Par bibi5883 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/04/2007, 08h36

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