Macro excel comparaison

Résolu/Fermé
hakhad Messages postés 16 Date d'inscription jeudi 10 juillet 2014 Statut Membre Dernière intervention 14 novembre 2014 - 10 juil. 2014 à 15:32
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 17 juil. 2014 à 18:36


Bonjour,

J'essaie de faire une macro qui compare des données références à des données sources du même type et qui me donne un tableau récapitulatif avec toutes les données avec le code couleur.

voici l'exemple dans l'image.

Merci,
A voir également:

3 réponses

skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
10 juil. 2014 à 15:55
Pourquoi une macro ? Une RechercheV suffit amplement.

Et pour les couleur on peux le faire avec une Mise en forme conditionelle.

Vous voulez un exemple ?
0
hakhad Messages postés 16 Date d'inscription jeudi 10 juillet 2014 Statut Membre Dernière intervention 14 novembre 2014
Modifié par hakhad le 10/07/2014 à 17:03
Je veux bien l'exemple pour voir si c'est vraiment ce que je veux faire!

Mais ce que je veux faire, c'est vérifier si la référence des données de références existe dans la référence des données sources:
- si elle est identique, je compare leur status, si le status est identique je mets dans l'extract comparé la référence et les 2 status en vert
- si elle est identique, je compare leur status, si le status est différent je mets dans l'extract comparé la référence et les 2 status avec le status source en orange
- si la référence des données de références n'existe pas, je la mets dans l'extract comparé avec son status en rouge et le status source (status 1') vide
- si la référence des données de sources n'existe pas, je la mets dans l'extract comparé avec son status en rouge et le status références (status 1) vide

Une macro pour automatisé car les sources changent.
0
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
10 juil. 2014 à 17:57
Oui j'avais compris :)

combient de lignes maximum ?
0
hakhad Messages postés 16 Date d'inscription jeudi 10 juillet 2014 Statut Membre Dernière intervention 14 novembre 2014
10 juil. 2014 à 17:58
1048500 lignes max
0
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
10 juil. 2014 à 18:47
Haha voici déjà un exemple avec 200 lignes.

Faites attention car avoir autant de lignes va faire que votre ficher va prendre beaucoup de place inutilement, ce qui va ralentir l'ouverture et la sauvegarde.

Le fichier : https://www.cjoint.com/?3GksOt16uuK
0
Je viens de voir ton exemple et merci bien!
Mais la colonne ref de l'extract comparé, tu l'as copié manuellement, moi ce que je voulais faire c'est automatisé tout le tableau même la récupération de la ref.

"si elle est identique, je compare leur status, si le status est identique je mets dans l'extract comparé la référence et les 2 status en vert
- si elle est identique, je compare leur status, si le status est différent je mets dans l'extract comparé la référence et les 2 status avec le status source en orange
- si la référence des données de références n'existe pas, je la mets dans l'extract comparé avec son status en rouge et le status source (status 1') vide
- si la référence des données de sources n'existe pas, je la mets dans l'extract comparé avec son status en rouge et le status références (status 1) vide "

Merci en tout cas!+
0
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
15 juil. 2014 à 15:27
Hum donc enfaîte dans la 3e partie ça irait chercher automatiquement .dans toutes les valeurs ref (De la 1ere et de la 2e partie) et de es ajouter dans la 3e (en les comparent) ?

Donc vous devrez remplir la partie 1 puis la partie 2. Finalement vous appuillez sur un bouton et la ça génère la partie 3 ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
17 juil. 2014 à 16:14
re,

proposition:
boulot intéressant
je n'ai pas encore fait les mises en couleurs car je dois m'absenter : donc patience
'mais tu peux les faire manuellement sur les 1 million quelques lignes!!!attention à la saturation de la RAM; apparemment, tu n'as pas traité le cas ou "g" est vide(ligne 28 à >=1000000)--> pas de couleurs

https://www.cjoint.com/?3GrqitJCLbw

Tu dis
0
hakhad Messages postés 16 Date d'inscription jeudi 10 juillet 2014 Statut Membre Dernière intervention 14 novembre 2014
17 juil. 2014 à 16:32
Je tenais à vous remercier pour l'effort fourni.
Je veux m'en servir comme base d'apprentissage en VBA si vous pouvez commenter pour que je sache comment c'est fait.
Bien sure quand vous aurez le temps.

Très chouette!

A+
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
17 juil. 2014 à 17:49
et voilà pour les couleurs avec VBa
ca augmente la durée mais le classeur est moins lourd qu'avec des MEFC: personnellement je testerais sur 15000 à 20000 lignes et opterai pour une des 2 solutions
a insérer après
Rows(Derlig & ":" & Cells.Rows.Count).Hidden = True

 'mise en couleur
For Cptr = 3 To Derlig - 1
If IsEmpty(Cells(Cptr, "i")) Then
Cells(Cptr, "I").Interior.Color = 255 ' rouge
Else
If Cells(Cptr, "H") = Cells(Cptr, "I") Then Range(Cells(Cptr, "H"), Cells(Cptr, "I")).Interior.Color = 5296274 'vert
If Cells(Cptr, "H") <> Cells(Cptr, "I") Then Range(Cells(Cptr, "H"), Cells(Cptr, "I")).Interior.Color = 49407 'orange
End If
Next

pour les explications pédagogiques ça risquerait d'^tre très long, désolé !!!

un truc à consulter pour apprendre et comprendre
https://excel.developpez.com/cours/
0
hakhad Messages postés 16 Date d'inscription jeudi 10 juillet 2014 Statut Membre Dernière intervention 14 novembre 2014
17 juil. 2014 à 18:11
Ok merci je vais faire ça
Je reviendrai vers vous pour m'orienté car j'ai pas mal de chose à ajouter à mon fichier.
Il faut que j'y réfléchisse.

A+
0