suite sujet comparaison et differences entre ligne

  • Initiateur de la discussion born2mars2
  • Date de début
B

born2mars2

Guest
Bonjour a tous,

N'arrivant pas ecrire mon message dans le topic que j'ai moi meme cree (j'ai un bug avec internet explorer!!!), je me permet de reposter un nouveau sujet.
Rappel:
je bloque sur quelque chose que je n'arrive pas a coder au travers une macro.
jai deux listes de famille de produits l'une a cote de l'autre. chaque produit est caracterise par sa reference, sa designation, son rev, son statut et son total. Les produits sont classes de la meme facon par ordre alphabetique suivant sa reference, sa designation, son rev, son statut et son total.
Les deux familles de produits ont quasiment les meme produits, mais je souhaiterais mettre en evidence visuellement les differences, en mettant un espace dans la ligne du produit de la famille de produits manquant.
Deux produits sont consideres comme identique s'ils ont leurs 5 caracteristiques identiques. Donc si au moins une seule des caracteristiques differe, ces deux articles sont alors consideres comme differents.
Les articles de la famille de produit 1 son stockes dans les colonnes A,B,C,D,E et ceux de la 2eme famille sont dans G,H,I,J et K. la colonne A contient les references des articles de la famille 1, la colonne G contient les references des articles de la famille 2. les colonnes B et H contiennent les descriptions des articles des familles de produits respectives 1 et 2. etc pour les autres colonnes...
un exemple a ete donne en piece jointe pour plus de clarete.
J'ai cree une macro qui ne marche pas et je ne comprend pas pourquoi. le code est dans une macro dans le fichier en piece joint.
Description: La boucle for balaye toutes les lignes une par une en comparant les memes 5 caracteristiques et si une des caracteristiques est differente d'une liste de famille de produits a l'autre, alors il met un espace dans la liste de droite a l'emplacement du produit manquant.
mon probleme 1: Le compilateur ne comprend pas 'Range('G(i):K(i)')'. cela sert a selectionner les cellules G, H, I, J et K de la ligne i de la boucle for.
La fonction 'Insert Shift:=xlDown' permet de creer le fameux espace tant desire!
Quelqu'un sait-il par quoi remplacer le 'Range('G(i):K(i)')' ?
mon probleme 2: je ne suis pas sur de 'For i = Range('G3').End(xlDown).Row To 300 Step 1'. on part de la ligne 3 et on passe chaque ligne jusqua la 300.
il y a til moyen de lui faire arreter le balayage jusqua ce qu'il detecte automatiquement la fin de la liste?

Merci d'avance de votre aide. [file name=born2mars2.zip size=11742]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/born2mars2.zip[/file]
 

Pièces jointes

  • born2mars2.zip
    11.5 KB · Affichages: 14

XanorK

XLDnaute Occasionnel
Re:suite sujet comparaison et differences entre li

Voila

J'ai créé une variable A pour simplifier la redaction du range
J'ai corrigé ta boucle qui de for i = 3 to blabla [file name=born2marsModif.zip size=13653]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/born2marsModif.zip[/file]
 

Pièces jointes

  • born2marsModif.zip
    13.3 KB · Affichages: 23

Discussions similaires

Réponses
4
Affichages
186

Statistiques des forums

Discussions
312 084
Messages
2 085 190
Membres
102 809
dernier inscrit
Sandrine83