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 :

Trouver simplement les champs modifiés entre deux versions d'un fichier ? [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut Trouver simplement les champs modifiés entre deux versions d'un fichier ?
    Bonjour,

    J'ai actuellement un fichier de base, avec une petite DB, qui quand on choisit une personne affiche toute ses infos
    Ce fichier comprend un macro qui permet d'exporter le résultat par personne.
    Ces fichiers de résultats vont etre envoyé vers des tierces personnes qui vont éventuellement les mettre a jour.

    Je vais donc avoir au final un fichier base de donnée avec les données de base et un fichier par personne qui va me revenir apres éventuelle mise a jour. Les deux ayant a priori exactement la meme structure (je peux verouiller les cases hors structure si nécessaire, pour etre sur que les mises a jour ne puissent pas se faire n'importe comment)

    Si je veux réimporter les mises a jour, est-ce que j'ai une solutions simple pour les identifier? Ou est-ce qu'il faut y aller a la barbare et comparer champs par champs?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 97
    Points : 135
    Points
    135
    Par défaut
    Salut Emanuelle,

    Je ne sais pas dans quelle mesure c'est faisable pour ton classeur, mais si j'étais toi je rajouterais une colonne "Date Dernière Modif" qui serait modifiée automatiquement. Après tu n'as plus qu'à faire une boucle pour trouver les enregistrements qui n'ont pas la même date de modification.

    J'espère t'avoir été utile.

  3. #3
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Ce bout de code compare la feuille 1 avec la feuille 2
    Il ne sera pas bien difficile d'adapter a 2 classeurs

    Évidemment je part du principe que l'ordre des lignes n'a pas été modifiée

    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
    Dim sh1 As Worksheet
    Dim sh2 As Worksheet
     
    Set sh1 = ThisWorkbook.Sheets("Feuil1")
    Set sh2 = ThisWorkbook.Sheets("Feuil2")
     
    Dim nbL As Long
    Dim nbC As Integer
     
    nbL = sh1.Range("A:A").End(xlDown).Row
    nbC = sh1.Rows("1:1").End(xlToRight).Column
     
    For Each cel In sh1.Range("A1:" & sh1.Cells(nbL, nbC).Address).Cells
     
        If sh2.Range(cel.Address).Value <> cel.Value Then
           cel.Font.Color = RGB(0, 255, 0)
        End If
     
    Next

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    Merci a tout les deux
    j'ai peur que la date de modif soit fortement aléatoire dans la mesure ou les fichiers vont partir un peu partout et que je n'ai aucune certitude que les macro soit authorisées sur chaque pc

    mais par contre le code de jfontaine me parait pratique pour ma situation
    L'ordre des lignes ne devrait pas bouger

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

Discussions similaires

  1. Exclure tous les champs semblables entre deux tables
    Par Vink80 dans le forum Développement
    Réponses: 3
    Dernier message: 27/07/2012, 20h14
  2. trouver les éléments communs entre deux vecteurs
    Par Décembre dans le forum MATLAB
    Réponses: 5
    Dernier message: 21/07/2010, 09h38
  3. Comment trouver les points intermédiaires entre deux points
    Par pyo666 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 19/04/2010, 16h05
  4. Récupérer grâce à une requête SQL que les champs modifiés
    Par guigui11 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 29/08/2006, 09h58
  5. afficher les champs null de deux tables dans un select
    Par poil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/09/2005, 15h05

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