Iteration de macros dans une autre vba
Résolu
Vba_Noob
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'aurais besoin d'un coup de main pour un code sous vba.
Voila la situation, je voudrais ecrire un procedure me permettant de cacher ou de faire apparaitre des macros d'une feuille excel, au moyen d'une autre macro.
Pour l'instant j'utilise l'instruction suivante:
Private Sub CommandButton1_Click()
CommandButton2.Visible = True
CommandButton3.Visible = True (or false
End Sub
Mais comme je dois realiser l'operation sur un grand nombre de macros je voudrais pouvoir ecrire une boucle qui m'eviterai de recopier cette instruction.
Quelque chose du genre:
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 4 To 7
CommandButton(i).Visible = False
Next i
End Sub
Enfin si c'est possible
Merci d'avance
J'aurais besoin d'un coup de main pour un code sous vba.
Voila la situation, je voudrais ecrire un procedure me permettant de cacher ou de faire apparaitre des macros d'une feuille excel, au moyen d'une autre macro.
Pour l'instant j'utilise l'instruction suivante:
Private Sub CommandButton1_Click()
CommandButton2.Visible = True
CommandButton3.Visible = True (or false
End Sub
Mais comme je dois realiser l'operation sur un grand nombre de macros je voudrais pouvoir ecrire une boucle qui m'eviterai de recopier cette instruction.
Quelque chose du genre:
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 4 To 7
CommandButton(i).Visible = False
Next i
End Sub
Enfin si c'est possible
Merci d'avance
2 réponses
-
Bonjour
De 4 à 7 , c'est pas suffisant pour une boucle...
Mais je suppose que ça n'est qu'un exemple, donc essayez ceci (s'il s'agit de commandbutton issus de la boite à outils controles...) :Private Sub CommandButton1_Click() Dim i As Integer For i = 4 To 7 Controls("CommandButton" & i ).Visible = False Next i End Sub-
-
Tes commandbutton sont dans ta feuille? Si oui, tu les as "dessinés" à partir de la barre d'outils "formulaire"? de la barre d'outil "boîte à outils controle"?
Tes commandbutton sont peut être dans une Userform?
Au besoin, passe nous une copie de ton fichier, sans données confidentielles, via https://www.cjoint.com/ -
-
Un UserForm, si tu ne connais pas, c'est une boite de dialogue personnalisée que tu peux créer toi même avec un peu (beaucoup) de connaissances VBA...
Pour ta question ma réponse est ICI.
Un exemple d'UserForm
-
-
Excuse, je n'avais pas vu que tu étais sur une feuille.....
Essaies ceci :Private Sub CommandButton1_Click() Dim i As Integer For i = 4 To 7 If ActiveSheet.OLEObjects("CommandButton" & i).Visible = False Then ActiveSheet.OLEObjects("CommandButton" & i).Visible = True Else ActiveSheet.OLEObjects("CommandButton" & i).Visible = False End If Next i End Sub