Commandbox en variable dans Sub

  • Initiateur de la discussion Initiateur de la discussion dureiken
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

dureiken

Guest
Bonjour, j'ai crée cette fonction afin d'afficher, cacher des colonnes. Elle marche excepté l'entrée de la donnée "Bouton".

Code:
Sub CacherAfficher(Debut As Variant, Fin As Variant, Bouton As Variant)
    
    Columns(letcol(NumColonne(Debut, "En_Cours")) & ":" & letcol(NumColonne(Fin, "En_Cours"))).Select 'Rentrer ici les colonnes du tableau si elles sont différentes
    
    If Selection.EntireColumn.Hidden = False Then 'Test pour savoir si les colonnes sont cachées ou non
    Selection.EntireColumn.Hidden = True 'Si elles sont affichées on les cache
    
    With Sheets("En_Cours")
        .Bouton.BackColor = &HFF& 'Bouton en couleur rouge
        .Bouton.Value = False 'On desactive le bouton
    End With
    
    
    ElseIf Selection.EntireColumn.Hidden = True Then 'Test pour savoir si les colonnes sont cachées ou non
    Selection.EntireColumn.Hidden = False 'Si elles sont cachées on les affiche
    
    With Sheets("En_Cours")
        .Bouton.BackColor = &HFF00& 'Bouton en couleur verte
        .Bouton.Value = True 'On active le bouton
    End With
    End If
    
    Cells(1, 1).Select
End Sub

Par exemple un de mes Checkbox s'appelle Trame, j'appelle donc la commande avec :

Code:
Private Sub Trame_Click()

Call CacherAfficher([Indexation], [SU], Trame)
    
End Sub




Mais il plante car il n'arrive pas a trouver le Checkbox Bouton au lieu de chercher le Checkbox Trame, logique. J'aimerai pouvoir rentrer le Checkbox comme une variable de ma fonction, car j'en ai 6 différents et je voudrai n'écrire la fonction qu'une fois.

Une idée ? Merci
 
Re : Commandbox en variable dans Sub

Bonsoir dureiken,

Vous avez dit :

Bonjour, j'ai crée cette fonction afin d'afficher, cacher des colonnes. Elle marche excepté l'entrée de la donnée "Bouton".

Si votre macro ne marche pas, c'est qu'il y a autre chose, sans doute ici :

Code:
Columns(letcol(NumColonne(Debut, "En_Cours")) & ":" & letcol(NumColonne(Fin, "En_Cours"))).Select 'Rentrer ici les colonnes du tableau si elles sont différentes

Sans savoir ce que sont letcol NumColonne, et surtout sans fichier, que voulez-vous qu'on fasse, dites-moi ?

A+
 
Re : Commandbox en variable dans Sub

Re,

Mais bon Dieu c'est bien sûr !

Au lieu de :

Code:
With Sheets("En_Cours")
        .Bouton.BackColor = &HFF& 'Bouton en couleur rouge
        .Bouton.Value = False 'On desactive le bouton
End With

écrivez seulement (pas de point) :

Code:
Bouton.BackColor = &HFF& 'Bouton en couleur rouge
Bouton.Value = False 'On desactive le bouton

Pareil plus bas.

Et pour l'appel de la Sub, voyez peut-être (je n'en sais rien) :

Code:
Call CacherAfficher([Indexation], [SU], [COLOR="Red"]Sheets("En_cours").[/COLOR]Trame)

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
1
Affichages
1 K
Retour