Aide vba ( masquer/afficher lignes)

Ilino

XLDnaute Barbatruc
Bonjour forum
ci-joint un fichier test ou j’ai trouvé des difficultés dans le code VBA.
Mon souci est le suivant :
Cellule C34 = Pas de Jonction donc masquer les lignes 35-175 ça marché.
1. Mais je n’arrive pas a masquer les lignes 186-361 si C34 = pas de jonction
2. Et dans le cas ou C34= Oui et G34= ( un chiffre de 1 a 5)
Je souhaiterais afficher les lignes suivantes selon le nombre de G34
SI G34= 1 afficher 188-199 et 290-307
SI G34= 2 afficher 188-217 et 308-325
SI G34= 3 afficher 188-235 et 326-343
SI G34= 4 afficher 188-253 et 344-361
SI G34= 5 afficher 188-298
Grazie
 

Pièces jointes

  • Version Alpha 1 test.xlsm
    126 KB · Affichages: 60

Herdet

Nous a quitté
Repose en paix
Re : Aide vba ( masquer/afficher lignes)

Bonjour forum
ci-joint un fichier test ou j’ai trouvé des difficultés dans le code VBA.
Mon souci est le suivant :
Cellule C34 = Pas de Jonction donc masquer les lignes 35-175 ça marché.
1. Mais je n’arrive pas a masquer les lignes 186-361 si C34 = pas de jonction
2. Et dans le cas ou C34= Oui et G34= ( un chiffre de 1 a 5)
Je souhaiterais afficher les lignes suivantes selon le nombre de G34
SI G34= 1 afficher 188-199 et 290-307
SI G34= 2 afficher 188-217 et 308-325
SI G34= 3 afficher 188-235 et 326-343
SI G34= 4 afficher 188-253 et 344-361
SI G34= 5 afficher 188-298
Grazie
Bonjour, le problème vient de l'intersection
If Not Intersect(Target, [G34]) Is Nothing Then
Target seul donne le contenu de la cellule
Remplacer par : If Not Intersect(Rows(Target.Row), [G34]) Is Nothing Then...

Une solution un peu plus compacte :
Code:
   Dim n
   If Not Intersect(Rows(Target.Row), [G34]) Is Nothing Then
      Application.ScreenUpdating = False
      n = CInt([G34])
      Rows("200:361").Hidden = False
      Select Case n
         Case 1
            Rows("200:289").Hidden = True
            Rows("308:361").Hidden = True
         Case 2
            Rows("218:307").Hidden = True
            Rows("326:361").Hidden = True
         Case 3
            Rows("236:325").Hidden = True
            Rows("344:361").Hidden = True
         Case 4
            Rows("254:343").Hidden = True
         Case 5
            Rows("290:361").Hidden = True
      End Select
   End If

Salutations
Robert
 

Discussions similaires

Réponses
4
Affichages
938

Statistiques des forums

Discussions
312 294
Messages
2 086 894
Membres
103 404
dernier inscrit
sultan87