Bonjour !
Je rencontre un petit problème sur VBA, et après de nombreuses heures de recherche sans succès je me tourne vers vous...
Je travaille sur un fichier dans lequel 3 colonnes sont copiées et reportée sur une autre feuille (dans le même classeur) à l'aide d'une macro, le but étant de créer un tableau. Une fois le tableau "créé", je suis obligée de masquer certaines des lignes précédemment reportées. Jusque là pas de problème.
Je dois ensuite reporter une autre série de valeurs (une référence) dans une 4ème colonne à partir d'une 3ème feuille en fonction de critères contenus dans les 3 colonnes reportées. Or je voudrais écrire la macro de façon à "ignorer" les lignes masquées. Type : "si la ligne est masquée, alors ignorer et passer à la suivante"
Pour info ces lignes masquées doivent rester dans le tableau pour être consultables, mais elles ne fonctionnent pas avec les critères dont je parlais précédemment car les libellés sont neutres, un peu comme si il était écrit "divers" plusieurs fois pour plusieurs des catégories contenues dans la base de données.
J'ai essayé à partir de ce code, qui fonctionne quand je supprime les lignes au lieu de les masquer :
Et j'ai cherché autour de beaucoup de solutions, pour l'instant je pense qu'il y a peut être quelque chose à faire avec ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 For i = 2 To 150 If ThisWorkbook.Worksheets("BDD").Range("D" & i).Value = ThisWorkbook.Worksheets("Tableau").Range("B" & i + 4).Value Then ThisWorkbook.Worksheets("Tableau").Range("D" & i + 4).Value = ThisWorkbook.Worksheets("BDD").Range("H" & i).Value End If If ThisWorkbook.Worksheets("BDD").Range("E" & i).Value = ThisWorkbook.Worksheets("Tableau").Range("B" & i + 4).Value Then ThisWorkbook.Worksheets("Tableau").Range("D" & i + 4).Value = ThisWorkbook.Worksheets("BDD").Range("H" & i).Value End If If ThisWorkbook.Worksheets("BDD").Range("F" & i).Value = ThisWorkbook.Worksheets("Tableau").Range("B" & i + 4).Value Then ThisWorkbook.Worksheets("Tableau").Range("D" & i + 4).Value = ThisWorkbook.Worksheets("BDD").Range("H" & i).Value End If
Mais n'ayant rien trouvé de concluant ou qui fonctionne... J'aimerai bien avoir vos avis/idées !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sheets("Tableau").Activate Dernlig = Range("C1048576").End(xlUp).Row Visibles = Range("B6:B" & Dernlig).SpecialCells(xlVisible)
D'avance merci !![]()
Partager