Masquer/Remplacer le contenu d'un ensemble de cellules suivant une condition

Logan-Kyles

XLDnaute Nouveau
Bonjour tout le monde :)

Je viens vous demander de l'aide pour résoudre un petit problème sur le fichier que je prépare.

Pour faire très simple j'aimerai masquer un ensemble de cellules B2 : D6 suivant la condition de B2 :

- Si B2="" l'ensemble B2 : D6 est masqué
- Sinon l'ensemble des cellules est visible

Merci d'avance pour votre aide !
 

Logan-Kyles

XLDnaute Nouveau
Re : Masquer/Remplacer le contenu d'un ensemble de cellules suivant une condition

Merci pour ce lien très intéressant !

J'ai commencé à regarder un peu le fonctionnement des macros (que je n'ai jusqu'à présent pas du tout utilisé) et j'ai réussi en partie à faire ce que je voulais avec.

A partir de ta source j'ai édité les macros "masquer" et "aff" pour obtenir ce que je recherche.

La macro marche parfaitement même si pour le moment c'est un peu brut (certaines fonctions n'auront plus d'utilité si j'arrive à finaliser cette macro) mais déjà dans l'écriture est-ce que je fais fausse route où est-ce qu'à priori c'est de cette manière qu'on procède ? :confused:

Maintenant je voudrais bien passer un cran au dessus en mettant en place 2 choses

- Rendre cette macro variable, c'est à dire remplacer tous les .Range "dur" par des variables
- Utiliser une condition pour appliquer la macro, si une cellule est vide la macro s'applique sinon rien n'est fait
- Utiliser cette macro sur différentes plages (plus de 60) en testant chaque zone de la même manière que celle actuellement en place

Désolé si je ne suis pas assez clair, j'avoue que ce que je cherche à mettre en place est un peu compliqué :p

Merci d'avance !
 

Pièces jointes

  • test_macro.xls
    80 KB · Affichages: 44
  • test_macro.xls
    80 KB · Affichages: 50
  • test_macro.xls
    80 KB · Affichages: 45

Logan-Kyles

XLDnaute Nouveau
Re : Masquer/Remplacer le contenu d'un ensemble de cellules suivant une condition

J'ai réussi à appliquer une condition pour ma macro et j'ai trouvé un début de solution pour rendre cette macro dynamique et applicable sur différentes plages de cellules mais j'aurai besoin d'un coup de main pour débloquer un bout de code.

Pour simplifier je place sur une la colonne B de 1 a 10 des noms de cellules (B1 = "C5", B2 = "D10", B3 = "E15"...) et j'aimerai utiliser une boucle pour récupérer à chaque passage la valeur de la cellule et m'en servir comme range

Le but est de pouvoir lister dans une colonne les cellules de référence à partir desquelles ma macro va s’exécuter, comme elles sont réparties un peu partout sur la feuille je ne peux pas utiliser un range dynamique de type Range("A"+ variable) il me faudrait trouver un moyen d'utiliser un Range(variable)

Mon bout de code actuel qui ne fonctionne pas

Code:
Sub Macro3()

   Dim i As Integer
    For i = 1 To 10
           
        Dim val As Integer
               val = Range("B" + i).Value
               Range(val).Select
               'Code exécuté a partir de la sélection'
    Next

End Sub

Merci d'avance !
 

Pièces jointes

  • test_macro2.xls
    60 KB · Affichages: 36

Discussions similaires

Réponses
26
Affichages
392

Statistiques des forums

Discussions
312 277
Messages
2 086 715
Membres
103 378
dernier inscrit
phdrouart