Bonjour,
dans le cadre d'un projet professionnel, je réalise une macro qui vérifie les écarts entre deux fichiers (A et B).
Chaque ligne contient un identifiant unique qui est la combinaison de 2 colonnes.
En résumé, rien de bien sorcier :
- J'applique un filtre.
- Pour chaque ligne du fichier A, je compare les 2 colonnes (qui servent d'identifiant) avec 2 autres colonnes (aussi identifiant) du fichier B, pour chaque ligne aussi. Je procèdes avec des FOR EACH ligne IN plageA.Rows
- Si les 2 colonnes du fichier A ne sont pas trouvées dans le fichier B, les 2 colonnes du fichier A sont colorées en rouge.
Tout fonctionne très bien, sauf que la définition de mon Range pose problème, puisqu'il me prend la première ligne (celle d'en-tête avec les filtres).
Par conséquent, les en-tête des deux colonnes sont colorés en rouge, car inclus dans mes plages
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Set plageA = Workbooks(fichier_A).Sheets(feuille_fichier_A).Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) Set plageB = Workbooks(fichier_B).Sheets(feuille_fichier_B).Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)
Pouvez-vous m'aider à attribuer à mes variables plageA et plageB uniquement les cellules filtrées et visibles, SANS la ligne d'en-tête ? S'il vous plait.
Ca peut paraitre tout simple mais je sèche ... malgré mes recherches (j'ai trouvé beaucoup de solutions, mais aucune ne me correspond).
Partager