Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres (RESOLU)Simplifier un code

chaelie2015

XLDnaute Accro
Bonsoir forum
je souhaite simplifier le code (si c'est possible),il consiste a afficher et masquer des colonnes selon deux boutons.
dans la feuille "BdD_Projets", j'ai deux boutons "Rechercher" et "Retour"
1. quand je clique sur le bouton "Rechercher" alors:
- masquer les colonnes de "E:AP"
- afficher les colonnes de"BV:CB"
- aller vers la cellule (fusionnée) BX7.
- afficher le bouton"Retour"
- masquer le bouton "Rechercher"

2. et si je clique sur le bouton"Retour" alors :
- afficher les colonnes de "E:AP"
- masquer les colonnes de"BV:CB"
- aller vers la cellule (fusionnée) F3
- masquer ce bouton "Retour"
- et afficher le bouton"Rechercher"

NB: j'ai des colonnes qui sont masquées par défaut (AQ:BU) a ne pas toucher
et la feuille est protégée par mot de passe.
ci dessous les codes:

VB:
Private Sub CommandButton1_Click() ' Bouton Rechercher
Range("BX7").Select
Columns("AQ:BU").EntireColumn.Hidden = True
Columns("E:AP").EntireColumn.Hidden = True
Columns("BV:CB").EntireColumn.Hidden = False

CommandButton2.Visible = True
CommandButton1.Visible = False

'Ajouter.Enabled = False
'Modifier.Enabled = False
'Suprimer.Enabled = False

End Sub

Private Sub CommandButton2_Click() 'Bonton retour
Range("F3").Select
Columns("AQ:BU").EntireColumn.Hidden = True
Columns("E:AP").EntireColumn.Hidden = False
Columns("BV:CB").EntireColumn.Hidden = True

CommandButton2.Visible = False
CommandButton1.Visible = True

'Ajouter.Enabled = True
'Modifier.Enabled = True
'Suprimer.Enabled = True

End Sub

Merci par avance
 

Phil69970

XLDnaute Barbatruc
Bonjour Chaelie, le forum

Au 1er jet je dirais ::

VB:
Private Sub CommandButton1_Click() ' Bouton Rechercher
Range("BX7").Select
Columns("E:BU").EntireColumn.Hidden = True
Columns("BV:CB").EntireColumn.Hidden = False

CommandButton2.Visible = True
CommandButton1.Visible = False

End Sub

Private Sub CommandButton2_Click() 'Bonton retour
Range("F3").Select
Columns("AQ:CB").EntireColumn.Hidden = True
Columns("E:AP").EntireColumn.Hidden = False

CommandButton2.Visible = False
CommandButton1.Visible = True

End Sub

@Phil69970
 
Dernière édition:

chaelie2015

XLDnaute Accro
Bonsoir Phil69970
merci pour la remarque.
j'ai simplifié ces deux codes par un seul bouton Toggle
VB:
Private Sub ToggleButton1_Click()

Columns("AQ:BU").EntireColumn.Hidden = True
Columns("E:AP").EntireColumn.Hidden = IIf(ToggleButton1 = False, False, True)
Columns("BV:CB").EntireColumn.Hidden = IIf(ToggleButton1 = True, False, True)
ToggleButton1.Caption = IIf(ToggleButton1 = False, "Rechercher", "Retour")
ToggleButton1.BackColor = IIf(ToggleButton1 = False, &H80FF&, &H80FF80)

End Sub
mais il reste les focus des cellules ???
a+
 

Phil69970

XLDnaute Barbatruc
Chaelie , le forum

Pour le focus tu peux l'avoir comme ça.

VB:
Private Sub ToggleButton1_Click()

Columns("AQ:BU").EntireColumn.Hidden = True

Columns("E:AP").EntireColumn.Hidden = IIf(ToggleButton1 = False, False, True)
Columns("BV:CB").EntireColumn.Hidden = IIf(ToggleButton1 = True, False, True)
ToggleButton1.Caption = IIf(ToggleButton1 = False, "Rechercher", "Retour")
ToggleButton1.BackColor = IIf(ToggleButton1 = False, &H80FF&, &H80FF80)

If ToggleButton1.Caption = "Rechercher" Then Range("F3").Select Else Range("BX7").Select

End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…