Signaler

Macro pour retrouver colonnes groupées [Résolu]

Posez votre question rodger85830 13Messages postés mercredi 23 novembre 2016Date d'inscription 28 novembre 2016 Dernière intervention - Dernière réponse le 28 nov. 2016 à 10:30
Bonjour
suis nouveau et je connais pas grand chose en vba ou macro
je pique a gauche et a droite , mais le projet que je me suis lancée me prend trop de temps
alors je demande de l'aide
- j'ai trouvé une macro qui me permet de n'ouvrir que certaine colonnes a l'aide d'un bouton ToggleButton1
mais quand je rappuis sur le bouton j’obtiens bien ma vue général mais les colonnes qui etaient
groupées se retrouvent degroupées
voici mon code
---------------------------------------
Private Sub ToggleButton1_Click()

With ToggleButton1
Sheets("Analyses").Select
Worksheets("Analyses").Columns("c:db").Hidden = .Value
Worksheets("Analyses").Columns("dl:hw").Hidden = .Value
.Caption = IIf(.Value = -1, "Cliquer pour Vue Normal", "Cliquer pour Vue Diabéte")
End With
End Sub
--------------------------------------------
en bref je voudrais que le retour a la vue normal se fasse avec les colonnes groupées
merci d'avance
et si quelqu’un est intéressé par mon projet je veux bien un coup de main
en sachant que c'est un fichier récupérer sur le net qui s'appel "Analyse de sang"
mais j'ai du changer pas mal de chose car les macros pour donner les graphs mettaient entre 15 et 20 secondes
donc j'ai tout fais en hypertextes
rodger
Afficher la suite 
Utile
+0
moins plus
Bonjour,

Essaies :
Private Sub ToggleButton1_Click()
  With ToggleButton1
    Sheets("Analyses").Select
    Worksheets("Analyses").Columns("c:db").Hidden = .Value
    Worksheets("Analyses").Columns("dl:hw").Hidden = .Value
    Worksheets("Analyses").Outline.ShowLevels columnlevels:=1
    .Caption = IIf(.Value = -1, "Cliquer pour Vue Normal", "Cliquer pour Vue Diabéte")
  End With
End Sub
Ajouter un commentaire
Utile
+0
moins plus
Bonjour ça marche bien,merci pour cette réponse rapide
mais j'aimerais copier le togglebutton1(Feuille Accueil) pour le mètre a coté des colonnes diabétes (Feuille Analyses)j'ai essayé mais le 1 boutton (Accueil) ne suis pas la vue normal quand je clique sur le 2éme boutton (Analyses)
pour une vue normal de la feuille Analyses
si vous ne comprenez rien c'est normal parce-que même moi quand je me relis cela fait brouillon
en fait je veux dupliquer le togglebutton 1 et que quand je clique sur un seul les deux reagissent
Ajouter un commentaire
Utile
+0
moins plus
Bonjour,

Nommer les deux boutons : ToggleButton1

Dans le module de la feuille Accueil et dans celui de la feuille Analyses :
Option Explicit
Private Sub ToggleButton1_Click()
    If NoEvents Then Exit Sub Else NoEvents = True
    With Worksheets("Analyses")
        .Select
        .Columns("c:db").Hidden = Me.ToggleButton1.Value
        .Columns("dl:hw").Hidden = Me.ToggleButton1.Value
        .Outline.ShowLevels columnlevels:=1
        With .ToggleButton1
            .Value = Me.ToggleButton1.Value
            .Caption = IIf(.Value, "Cliquer pour Vue Normal", "Cliquer pour Vue Diabéte")
        End With
    End With
    With Worksheets("Accueil")
        With .ToggleButton1
            .Value = Me.ToggleButton1.Value
            .Caption = IIf(.Value, "Cliquer pour Vue Normal", "Cliquer pour Vue Diabéte")
        End With
    End With
    NoEvents = False
End Sub
Et dans un module standard :
Option Private Module
Option Explicit
Public NoEvents As Boolean
Ajouter un commentaire
Utile
+0
moins plus
Bonjour
c'est mieux mais il y a un hic je suis obligé d'appuyer 2 fois sur le bouton de la feuille analyses pour pouvoir retrouver les colonnes groupées
Merci d'avance Rodger
Patrice33740 5220Messages postés dimanche 13 juin 2010Date d'inscription 28 novembre 2016 Dernière intervention - 25 nov. 2016 à 22:11
Je ne comprends pas le problème !!!

« je suis obligé d'appuyer 2 fois sur le bouton de la feuille analyses pour pouvoir retrouver les colonnes groupées » ça me semble normal : une fois pour dégrouper et une fois pour regrouper.


Y aurait-il d'autres macros que celles-ci ?
Répondre
rodger85830 13Messages postés mercredi 23 novembre 2016Date d'inscription 28 novembre 2016 Dernière intervention - 26 nov. 2016 à 01:07
ce que je veux dire c'est quand j'appuie sur le bouton de la feuille d'accueil cela me groupe bien les colonnes dans la feuille Analyses ,mais quand je veux revenir a une vue normal ou cliquer sur n'importe quel liens hypertexts ils sont bloqués alors il faut que je clique n'importe ou dans la feuille pour la rendre active puis une nouvelle fois sur le bouton pour revenir a une vue normal ou utiliser les liens hypertexts
oui il y a une macros dans Accueil
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

j'ai essayé en l'enlevant mais cela fait pareil
Répondre
yg_be 836Messages postés lundi 9 juin 2008Date d'inscription 7 décembre 2016 Dernière intervention - 26 nov. 2016 à 09:15
Ce problème n'est-il pas causé par
With Worksheets("Analyses")
        .Select

Est-ce nécessaire de garder le
.Select
?
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Bonjour,

Il faut peut-être inhiber les évènements de ta macro.
Mets ton fichier sur http://cjoint.com/
Cordialement
Patrice
rodger85830 13Messages postés mercredi 23 novembre 2016Date d'inscription 28 novembre 2016 Dernière intervention - 26 nov. 2016 à 12:51
lien pour le fichier et commentaire
http://www.cjoint.com/c/FKAlW75aaQE
Répondre
rodger85830 13Messages postés mercredi 23 novembre 2016Date d'inscription 28 novembre 2016 Dernière intervention - 26 nov. 2016 à 18:08
j'ai bien essayé en enlevant ".Select" mais pareil
Merci c'est sympa de m'aider ci joint la feuille excel très allégée je n'ai gardé que les feuilles concernées et enlever toutes les macros et modules mais cela fait pareil mais bizarre car les 2 premier aller retour marche très bien mais après ça bloque
ci-joint le fichier
http://www.cjoint.com/c/FKAlW75aaQE
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Bonjour,

Je ne constate pas ton problème, chez moi ça fonctionnement très bien, hormis un problème de lenteur d'affichage et un problème de scroll, lors du retour en normal (les colonnes sont bien affichées, mais il faut scroller manuellement pour les voir).

A tout hasard si c'est ce qui pose problème, essaies ce code dans les 2 modules de feuille :

Private Sub ToggleButton1_Click()

    If NoEvents Then Exit Sub Else NoEvents = True
    Application.ScreenUpdating = False
    With Worksheets("Analyses")
        .Select
        .Columns("c:cy").Hidden = Me.ToggleButton1.Value
        .Columns("dz:hw").Hidden = Me.ToggleButton1.Value
        .Outline.ShowLevels columnlevels:=1
        With .ToggleButton1
            .Value = Me.ToggleButton1.Value
            .Caption = IIf(.Value, "Cliquer pour Vue Normal", "Cliquer pour Vue Diabéte")
            
        End With
    End With
    With Worksheets("Accueil")
        With .ToggleButton1
            .Value = Me.ToggleButton1.Value
            .Caption = IIf(.Value, "Cliquer pour Vue Normal", "Cliquer pour Vue Diabéte")
        End With
    End With
    NoEvents = False
    ActiveWindow.ScrollRow = 1
    ActiveWindow.ScrollColumn = 1
    Application.ScreenUpdating = True
   
End Sub
rodger85830 13Messages postés mercredi 23 novembre 2016Date d'inscription 28 novembre 2016 Dernière intervention - 27 nov. 2016 à 11:06
Bonjour Patrice
cela me fait le même problème,mais il est possible que tu soit passé a coté
essaie cette manip pour le voir
1)être a l'accueil et cliquer sur vue diabète (la tout est ok)
quand tu es en vue diabète la 1ere fois le toggle bouton est marqué "cliquer pour vue normal"
donc cliquer dessus ,la tu arrive en vue normal (tout est ok)
2) utiliser le bouton Accueil pour retourner a l'accueil refait la 1ere manip
et quand tu es dans la vue diabète (dans la feuille analyses)
le bouton devrait être marquer vue normal mais en fait c'est grisé sur vue diabète
essaie a ce moment la de cliquer sur le bouton accueil en haut
et la tu verra que tout mes hyperliens sont bloqués, donc obligés de cliquer n'importe ou pour rendre active la feuille analyses
Répondre
rodger85830 13Messages postés mercredi 23 novembre 2016Date d'inscription 28 novembre 2016 Dernière intervention - 27 nov. 2016 à 12:15
après divers essais je m’aperçois qu'il y a deux problèmes
le 1) c'est le toggle bouton grisé après plusieurs aller retour via le bouton Accueil
2) et j'ai créer des lyens hypertext directement dans une cellule et la les liens marche bien
mise a part le toggle grisé
donc c'est tout les liens que j'ai créer avec des formes qui eux ne répondes pas au premier clic après utilisation de la macro
essai 3 )intéressant car je viens de supprimer toutes les macros et
rien que le fait d'appuyez sur le toogle 1 me bloques mes liens (fait avec des formes)
mais pas ceux fait avec les cellules
Répondre
Patrice33740 5220Messages postés dimanche 13 juin 2010Date d'inscription 28 novembre 2016 Dernière intervention - 27 nov. 2016 à 20:42
Bonsoir,

Je viens de faire de nombreux essais mais chez moi tout fonctionne correctement aussi bien avec Excel 2007, avec Excel 2010 et avec Excel 2016.

Il y a une petite anomalie dans mon code : je ne désactive pas le bouton. Dans certains cas ça peut générer un problème (est-ce le tien ????). Essaies de commencer les 2 procédures bouton en activant la cellule active (pour désactiver le bouton) :

Private Sub ToggleButton1_Click()
    ActiveCell.Activate
    If NoEvents Then Exit Sub Else NoEvents = True
Répondre
rodger85830 13Messages postés mercredi 23 novembre 2016Date d'inscription 28 novembre 2016 Dernière intervention - 28 nov. 2016 à 01:02
T'es un As Patrice ça marche du tonnerre ,pourtant j'avais essayé un peu la même chose mais j'avais mis sheets("Analyses").Activate
je vais pouvoir dormir tranquille et encore un grand merci
ps:si je veux poser d'autres questions doit-je passer par toi ou continuer avec ce post ou créer un nouveau sujet ,je me suis fait un petit peu taper sur les doigts la dernière fois.
Répondre
Patrice33740 5220Messages postés dimanche 13 juin 2010Date d'inscription 28 novembre 2016 Dernière intervention - 28 nov. 2016 à 10:30
Bonjour,

En lisant ton post ci-dessus, je découvre que tu avais ouvert un second post concernant la même procédure.

Je suis entièrement d'accord avec gbinforme (bonjour gb), gérer plusieurs sujets qui concernent la même procédure est totalement improductif. Il y a de fortes chances que les propositions pour un sujet interfèrent sur les autres sujets.

En parlant d'interférences, tu as dit qu'il y a d'autres macros dans ton classeur, notamment une macro évènementielle sur SelectionChange. Il serait utile que tu mettes ton fichier, expurgé des éventuelles informations confidentielles, mais avec toutes les macros, pour vérifier le fonctionnement de l'ensemble.

Pour ce qui concerne la simplification, c'est déjà une macro simplifiée.

Pour ce qui est de rajouter un textbox contrôlé par le même togglebutton1, il suffit d'intégrer ton code à la fin des macros existantes (avant le End Sub).

Une fois que cette partie de ton code VBA sera vérifiée, tu pourras enfin clôturer ce post (le mettre en résolu) : en effet, pour que que ça profite à tout le monde, il est préférable de clôturer un post long qui s'éloigne complétement de son titre et d'ouvrir un nouveau post avec la nouvelle question et un titre plus significatif.

Cordialement
Patrice
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !