Iteration de macros dans une autre vba
Résolu
Vba_Noob
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 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
A voir également:
- Iteration de macros dans une autre vba
- Excel compter cellule couleur sans vba - Guide
- Dépassement de capacité vba ✓ - Forum Excel
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba écrire dans une cellule ✓ - Forum Excel
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
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...) :
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
Excuse, je n'avais pas vu que tu étais sur une feuille.....
Essaies ceci :
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
Par contre j'ai essaye le code et la fonction controls ne semble pas etre reconnu par excel.
Je travail sous excel 2003 je sais si ca joue...
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/
Et c'est quoi un Userform?
Pour ta question ma réponse est ICI.
Un exemple d'UserForm