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
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
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

Statistiques des forums

Discussions
311 709
Messages
2 081 774
Membres
101 816
dernier inscrit
Jfrcs