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 :

Vérification des incohérences


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Avril 2012
    Messages : 83
    Par défaut Vérification des incohérences
    Bonjour,

    Toujours le même sujet je voudrais comparer les valeurs de la colonne E avec ceux de la colonnes M
    Le valeurs son peuvent être des chiffres ou des lettres.
    S'ils sont identiques ne rien faire
    S'ils sont différentes alors appliqué une couleur sur les cellules concernées.

    Voici le code modifié mais il ne compare pas car j'ai testé et me mets en jaune toutes les cellules même-ci elles sont identiques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub verif_incohérence()
    Dim i&, Lg& ' variable &=as long
    Lg = Range("E" & Rows.Count).End(xlUp).Row ' recherche la dernière ligne de ta liste
    For i = 1 To Lg 'boucle pour faire les cellule 1 par 1
    If Cells(i, 5) <> Cells(i, 6).Offset(0, 6) Then 'comparaison
    Cells(i, 5).Interior.Color = vbYellow 'mise en couleur de a1
    Cells(i, 7).Offset(0, 6).Interior.Color = vbYellow 'mise en couleur de b1
    End If
    Next i
    End Sub
    Merci de votre aide

  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
    Bonsoir,
    Toujours le même sujet...
    tout le monde n'est pas censé avoir vu ton sujet

    En fonction de ce que tu dis, je compare colonne E/colonne M sur la même ligne et colore les cellules différentes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub verif_incohérence()
    Dim i&, Lg& ' variable &=as long
    Lg = Range("E" & Rows.Count).End(xlUp).Row ' recherche la dernière ligne de ta liste
    For i = 1 To Lg 'boucle pour faire les cellule 1 par 1
      If Cells(i, 5) <> Cells(i, 13) Then 'compare col E et Col M sur la meme ligne
        Cells(i, 5).Interior.Color = vbYellow 'mise en couleur de col E
        Cells(i, 13).Interior.Color = vbYellow 'mise en couleur de col M
      End If
    Next i
    End Sub
    Si ce n'est pas ce que tu veux, expliques-toi mieux en devinant que les abonnés n'ont pas vu ton premier sujet

    Bonne soirée
    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
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir

    C'est à dire tu veux comparer deux à deux les cellules de la colonne E avec celles de la colonne M sur la même ligne?

  4. #4
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Avril 2012
    Messages : 83
    Par défaut
    Merci casefayere

    c'est exactement ça!
    Je me suis trompé avec les offset

    I need to learn any more !!!

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    tu veux comparer deux à deux les cellules de la colonne E avec celles de la colonne M sur la même ligne?
    Il me semble que c'est bien ce que souhaite Leodams.
    Les MFC me semblent gérer ça très bien sans VBA.

    Sinon comme le code était fourni, une version légèrement modifié du code de Casefayere.
    (modif :
    - comme dans le sujet les 2 colonnes désignés par des lettres, autant que ça apparaisse dans le code. (ça évite les erreurs de calcul )
    - le retrait de la couleur si le résultat de la comparaison change entre 2 exécution.

    Une autre version du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub verif_incohérence()
        Dim i&, Lg& ' variable &=as long
        Lg = Range("E" & Rows.Count).End(xlUp).Row ' recherche la dernière ligne de ta liste
        For i = 1 To Lg 'boucle pour faire les cellule 1 par 1
            If (Range("E" & i) <> Range("M" & i)) Then
                Range("E" & i).Interior.Color = vbYellow
                Range("M" & i).Interior.Color = vbYellow
            Else
                Range("E" & i).Interior.Pattern = xlNone
                Range("M" & i).Interior.Pattern = xlNone
            End If
        Next i
    End Sub

  6. #6
    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
    Bonsoir BlueMonkey,

    comme dans le sujet les 2 colonnes désignés par des lettres, autant que ça apparaisse dans le code.
    tu as raison mais je voulais respecter le choix de Leodams de passer par "Cells"

    e retrait de la couleur si le résultat de la comparaison change entre 2 exécution.
    bonne remarque, suis-je étourdi !

    Un petit coucou à Mercatog (ça fait longtemps, pour ma part)

    Bonne soirée
    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...)

  7. #7
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Avril 2012
    Messages : 83
    Par défaut
    Je vois que plusieurs possibilité pouvait s’offrir à moi.
    Je n'ai vraiment pas encore cette facilité de dire choisir tel ou tel code.

    J'en suis au step je tâtonne et je creuse et dans le l'urgence demande un coup pousse.

    J’apprécie vraiment

    oh les gars j'ai poster une autre interrogation, il y a même pas 20 minutes alors RDV là-bas!

  8. #8
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir Casefayere,

    Citation Envoyé par casefayere Voir le message
    tu as raison mais je voulais respecter le choix de Leodams de passer par "Cells"
    bonne remarque, suis-je étourdi !
    En fait mes ajouts étaient juste pour justifier que je poste un code 20 min après que tu es déjà posté une correction fonctionnelle.
    (la seule conversion Cells / Range ne justifiait pas un post).
    Donc loin de moins l'idée de dire qu'il manquait quelque chose d'indispensable dans ta solution ; elle corrigeait déjà complètement le problème.

    A+

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonsoir à tous,

    tu as raison mais je voulais respecter le choix de Leodams de passer par "Cells"
    Et bien pour faire plaisir à tout le monde utilise Cells(i,"E") ;-)

    eric

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

Discussions similaires

  1. Vérification des checkboxs
    Par grumly22 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/05/2006, 10h03
  2. [VB6] Vérification des droits de lecture/écriture sur répert
    Par marsup54 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 01/02/2006, 18h41
  3. vérifications des dates
    Par smail21 dans le forum Bases de données
    Réponses: 5
    Dernier message: 05/11/2005, 16h02
  4. Avis sur la vérification des données d'une fiche
    Par AlexB59 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/07/2005, 20h55

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