Masquer des lignes en fonction de la valeur d'une cellule - Page 2
Résolu
Précédent
- 1
- 2
Re,
si tu nommes ton tableau tu peux utiliser le nom de ta plage et dans les lignes de code tu remplaces
Range("A22:A49")
par
Range("TAB10")
et même encore plus court par simplement [TAB10]
toute fois cette dernière est plus difficile à interpréter par les novices ou les personnes qui auraient à intervenir
on pourrait également écrire une constante en début de code qui faciliterait l'adaptation du code à d'autres tableaux en ne modifiant qu'une seule ligne de code.
demain il me sera difficile de te faire une proposition, mais je reviendrais
si tu nommes ton tableau tu peux utiliser le nom de ta plage et dans les lignes de code tu remplaces
Range("A22:A49")
par
Range("TAB10")
et même encore plus court par simplement [TAB10]
toute fois cette dernière est plus difficile à interpréter par les novices ou les personnes qui auraient à intervenir
on pourrait également écrire une constante en début de code qui faciliterait l'adaptation du code à d'autres tableaux en ne modifiant qu'une seule ligne de code.
demain il me sera difficile de te faire une proposition, mais je reviendrais
Re,
pour revenir à la création d'une constante en début de code afin de simplifier les adaptations à d'autres tableaux ou modifier le nombre de lignes
ouvre le visual basic de l'onglet concerné, dans ton exemple de fichier tu n'as qu'un onglet "ERMODELE", donc clic droit sur l'onglet/Visualiser le code
tout en haut avant le premier code colle une de ces deux lignes, la première prend en compte les lignes 22 à 49 ou la deuxième ligne prend en compte une plage nommée, à toi de choisir l'une ou l'autre
ou
ensuite dans tes codes tu vas remplacer l'adresse de ta plage par le nom que j'ai donné à la constante Plage, exemple
If CheckBox1 And CheckBox14 Or CheckBox15 Or CheckBox16 Or CheckBox17 = True Then Range("A22:A49").EntireRow.Hidden = True
remplacé par
If CheckBox1 And CheckBox14 Or CheckBox15 Or CheckBox16 Or CheckBox17 = True Then Range(Plage).EntireRow.Hidden = True
idem pour ces lignes
Range("A22:A49").EntireRow.Hidden = False
remplacé par
Range(Plage).EntireRow.Hidden = False
une fois que tu auras modifié les lignes de tes différents codes il te suffira de modifier uniquement la constante en début du code, soit les bornes de ta plage "A22:A49" ou le nom de ta plage nommée "TAB10" ou encore modifier l'étendue de ta plage nommée dans le gestionnaire de noms
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pour revenir à la création d'une constante en début de code afin de simplifier les adaptations à d'autres tableaux ou modifier le nombre de lignes
ouvre le visual basic de l'onglet concerné, dans ton exemple de fichier tu n'as qu'un onglet "ERMODELE", donc clic droit sur l'onglet/Visualiser le code
tout en haut avant le premier code colle une de ces deux lignes, la première prend en compte les lignes 22 à 49 ou la deuxième ligne prend en compte une plage nommée, à toi de choisir l'une ou l'autre
Const Plage As String = "A22:A49"
ou
Const Plage As String = "TAB10"
ensuite dans tes codes tu vas remplacer l'adresse de ta plage par le nom que j'ai donné à la constante Plage, exemple
If CheckBox1 And CheckBox14 Or CheckBox15 Or CheckBox16 Or CheckBox17 = True Then Range("A22:A49").EntireRow.Hidden = True
remplacé par
If CheckBox1 And CheckBox14 Or CheckBox15 Or CheckBox16 Or CheckBox17 = True Then Range(Plage).EntireRow.Hidden = True
idem pour ces lignes
Range("A22:A49").EntireRow.Hidden = False
remplacé par
Range(Plage).EntireRow.Hidden = False
une fois que tu auras modifié les lignes de tes différents codes il te suffira de modifier uniquement la constante en début du code, soit les bornes de ta plage "A22:A49" ou le nom de ta plage nommée "TAB10" ou encore modifier l'étendue de ta plage nommée dans le gestionnaire de noms
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Précédent
- 1
- 2