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 :

Modifier ce code VBA


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Modifier ce code VBA
    Coucou,
    Chui Null EN VBA et j'ai trouvé ce code sur Net et je souhaite le modifier selon mes besoin,
    en fait ce code consiste à mettre en évidence dans la Feuil1 les nouveautés, cad les données que l'on ne trouve pas dans Feuil2.
    dans la Feuil1, c'est la colonne 1 qui m'intéresse et que je dois comparer à la 1ere colonne de la Feuil2 (mais par ligne!) ( pas dans les 4 col de la Feuil2 comme dans ce code) pour savoir si le contenu d'une cellule de col1/Feuil1 se trouve quelquepart dans la 1ere col de Feuil2.

    on passe par toutes les ligne de Feuil2 jusqu'à trouver une ligne où le contenu de Feuil1/L1C1 est trouvé.
    Alors si ce contenu est trouvé, on peut passer à la ligne suivante (Feuil1/L2C1).

    car ce qui m'intéress c'est ce qui n'est pas trouvé.
    en effet, si le contenu de Feuil1/L1C1 n'est pas trouvé, je le mets en couleur comme ca, les nouveautés sautent aux yeux.
    ---------------------
    la modification souhaitée est juste de chercher seulement dans la 1ere colonne de la feuil2 ( pas dans les 4 colonnes )
    ---------------------
    qlq'un peut m'aider ?
    -----------------------
    voici le code :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Sub Test()
    Dim iLR1%, iLR2%, i%, j%, k%, z$, Tablo
    'Gèle l'écran pour accélérer le traitement
    Application.ScreenUpdating = False
    'Détermination de la dernière ligne de chaque feuille
    iLR1 = Worksheets("Feuil1" ).Cells(65535, 1).End(xlUp).Row
    iLR2 = Worksheets("Feuil2" ).Cells(65535, 1).End(xlUp).Row
    'Charge en mémoire les valeurs de Feuil2
    Tablo = Worksheets("Feuil2" ).Range("A2 : D" & iLR2)
    With Worksheets("Feuil1" )
    'Colorie toute les cellules en rouge
    .Range("A2:A" & iLR1).Interior.ColorIndex = 3
    'Pour chaque ligne dans Feuil1
    For i = 1 To iLR1
    'Mémorise la valeur de la cellule
    z = .Cells(i, 1).Value
      'Parcourt le tableau et recherche l'égalité
      For j = 1 To UBound(Tablo)
        For k = 1 To 4
          'si trouve une égalité pose un drapeau
          If Tablo(j, k) = z Then Y = True
        Next
      's'il y a un drapeau décolore la cellule
      If Y Then
      .Cells(i, 1).Interior.ColorIndex = xlColorIndexNone
      'remet le drapeau à Faux
      Y = False
      'et arrête l'examen du tableau
      Exit For
      End If
      Next
    'recommence sur les valeurs suivantes de Feuil1
    Next
    End With
    End Sub
    Important : Cette macro doit être collée dans un nouveau module Standart (Module1) par exemple

  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
    12 773
    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 : 12 773
    Points : 28 634
    Points
    28 634
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sauf s'il est impératif que tu passes par le VBA, la mise en forme conditionnelle en utilisant la formule EQUIV est bien suffisant.
    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. Modifier du code vba avec vba
    Par kergamenan dans le forum Access
    Réponses: 1
    Dernier message: 19/03/2014, 14h58
  2. [AC-2002] Impossible de modifier le code vba du module
    Par jobe3141 dans le forum Access
    Réponses: 16
    Dernier message: 18/10/2011, 14h31
  3. Code VBA qui modifie du Code VBA ?
    Par tictactoc dans le forum Excel
    Réponses: 2
    Dernier message: 30/07/2009, 09h43
  4. Modifier le mdw de sécurité avec du code vba?
    Par Hydex dans le forum Sécurité
    Réponses: 6
    Dernier message: 07/07/2007, 18h06
  5. [VBA] Excel modifier un code source.
    Par mike9191 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/05/2007, 12h56

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