Disparition Command Button

ptityoyo

XLDnaute Nouveau
Bonsoir au Forum,

Je viens vers vous afin d’élucider un problème.
Lorsque je créer un command button est que celui-ci se trouve dans un groupe que l'on peu cacher ou visualiser.
Si je sauvegarde lorsque l'ensemble est caché et que je quitte pour rouvrir le fichier, le command button à disparu.
Cependant celui-ci n'est pas effacé car lorsque j’essaye de recréer un command button avec son nom, un message d'erreur "nom ambigu" est détecté preuve qu'il existe toujours.

Un avis sur le problème ?

Merci
 

ptityoyo

XLDnaute Nouveau
Re : Disparition Command Button

Bonsoir carcharodon-carcharias

Oui j'ai essayé de placer le code suivant si mes souvenirs sont bon :
"Commandbutton1.value = true"
Mais rien n'y fait. De plus les command button caché devrais apparaître en mode développeur mais la rien.

Ci joint le fichier test.

Une fois télécharger, ouvré le fichier et cacher vous même les lignes grâce au toggle button et le raccourci de groupe puis sauvegardé, fermé ou ouvré le fichier pour subir le phénomène.

Slts
 

Pièces jointes

  • probleme command button.xlsm
    33.3 KB · Affichages: 76

ptityoyo

XLDnaute Nouveau
Re : Disparition Command Button

Bonjour carcharodon-carcharias, le forum,

En effet la solution est simpa, mais comme tu le dis la solution est palliative malgré que celle-ci soit très utile pour éviter les command button.;)

Je me suis posé la question de savoir si je n'allait pas plutôt effectuer une interaction en Vba, c'est à dire de mettre en place a la sauvegarde du fichier l'ouverture de toutes les deroulantes. Et lors de l'ouverture du fichier faire une fermeture de l'ensemble. Mais cela reste une sollution palliative et je m'interroge toujours sur le pourquoi du comment de ce phénomène.:confused:

Slts
 

Papou-net

XLDnaute Barbatruc
Re : Disparition Command Button

Bonjour ptityoyo,
Bonjour CC,

En modifiant le code comme ci-dessous, ça semble répondre à la question initiale :

Code:
Sub Action(NomBouton As String, Plage As String)
Dim bout As ToggleButton
  With ActiveSheet.OLEObjects(NomBouton).Object
    If .Value Then .Caption = "+" Else .Caption = "-"
    ActiveSheet.Range(Plage).EntireRow.Hidden = .Value
    ActiveSheet.CommandButton1.Visible = Not .Value
    ActiveSheet.CommandButton2.Visible = Not .Value
    ActiveSheet.CommandButton3.Visible = Not .Value
  End With
End Sub


Bon dimanche.

Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : Disparition Command Button

Bonjour Papou-net,

En effet cela répond à la demande initiale, cependant lors de la sauvegarde en position caché, pour ensuite quitter et ré-ouvrir le fichier, le problème est toujours présent.

Slts

RE :

Étonnant, chez moi ça fonctionne à la réouverture, quelle que soit la position du bouton et le masquage des cellules.

D'ailleurs, je te joins une copie pour vérifier.

Cordialement.
 

Pièces jointes

  • Copie de probleme command button.xlsm
    33.7 KB · Affichages: 83

ptityoyo

XLDnaute Nouveau
Re : Disparition Command Button

Re,

J'ai trouvé d'où venais le problème :
Dans le format de contrôle je n’avais pas cocher l'option "ne pas dimensionner ou déplacer avec les cellules".

Un grand merci à vous deux pour l'aide apportée.
:D

La formule utilisée permet-elle avec quelques modification de mettre en place la même interaction avec les 3 command button situé en dessous à l'aide d'un nouveau toggle button ?

Slts
 
Dernière édition:

ptityoyo

XLDnaute Nouveau
Re : Disparition Command Button

Re,

J'ai insérer les formules suivantes pour pouvoir commander en fonction de chaque toggle button le cache des Commmand Button sur chaque zone :

'Gestions des groupes

Sub Action(NomBouton As String, Plage As String)
Dim bout As ToggleButton
With ActiveSheet.OLEObjects(NomBouton).Object
If .Value Then .Caption = "+" Else .Caption = "-"
ActiveSheet.Range(Plage).EntireRow.Hidden = .Value
End With
End Sub


Private Sub ToggleButton1_Click()
Action "ToggleButton1", "c5:c13"
If ToggleButton1.Value Then CommandButton1.Visible = False Else CommandButton1.Visible = True
If ToggleButton1.Value Then CommandButton2.Visible = False Else CommandButton2.Visible = True
If ToggleButton1.Value Then CommandButton3.Visible = False Else CommandButton3.Visible = True
End Sub

Private Sub ToggleButton2_Click()
Action "ToggleButton2", "c15:c20"
If ToggleButton1.Value Then CommandButton4.Visible = False Else CommandButton4.Visible = True
If ToggleButton1.Value Then CommandButton5.Visible = False Else CommandButton5.Visible = True
If ToggleButton1.Value Then CommandButton6.Visible = False Else CommandButton6.Visible = True
End Sub

Y'a t'il plus simple ?

Merci
 

Papou-net

XLDnaute Barbatruc
Re : Disparition Command Button

RE ptiyoyo,

Effectivement, j'ai oublié de te préciser l'option "ne pas dimensionner..."

Concernant ta demande sur les 3 autres boutons, effectivement c'est faisable en modifiant les paramètres de la macro comme dans la copie du fichier joint.

Bonne fin de WE.

Cordialement.
 

Pièces jointes

  • Copie 01 de probleme command button.xlsm
    36.6 KB · Affichages: 61

Papou-net

XLDnaute Barbatruc
Re : Disparition Command Button

RE ptityoyo,

Dans le cas d'un nombre de boutons différent du nombre de paramètres, il suffit de remplacer la valeur des paramètres par une chaîne vide.

Exemples dans le fichier joint :

Le premier ToggleButton ne traite que le bouton 1 et le second ne s'occupe que des boutons 4 et 6.

Autre variante de code avec des paramètres optionnels :

Code:
Sub Action(NomBouton As String, Plage As String, Optional Cmd1 As String, _
Optional Cmd2 As String, Optional Cmd3 As String)
Dim bout As ToggleButton
  With ActiveSheet.OLEObjects(NomBouton).Object
    If .Value Then .Caption = "+" Else .Caption = "-"
    ActiveSheet.Range(Plage).EntireRow.Hidden = .Value
    If Not Cmd1 = "" Then ActiveSheet.OLEObjects(Cmd1).Visible = Not .Value
    If Not Cmd2 = "" Then ActiveSheet.OLEObjects(Cmd2).Visible = Not .Value
    If Not Cmd3 = "" Then ActiveSheet.OLEObjects(Cmd3).Visible = Not .Value
  End With
End Sub
Private Sub ToggleButton1_Click()
Action "ToggleButton1", "c5:c13", "CommandButton1"
End Sub

Private Sub ToggleButton2_Click()
Action "ToggleButton2", "c5:c13", "CommandButton4", , "CommandButton6"
End Sub

Je me doutais un peu de l'éventualité d'un nombre de boutons variable à traiter et j'ai essayé de les traiter dans une boucle après les avoir affectés à deux groupes distincts mais je n'ai pas encore trouvé la bonne syntaxe. D'où cette solution moins technique mais qui fonctionne parfaitement.

Cordialement.
 

Pièces jointes

  • Copie 02 de probleme command button.xlsm
    36.6 KB · Affichages: 58

ptityoyo

XLDnaute Nouveau
Re : Disparition Command Button

Papou-net,

Un grand merci pour ton implication et le temps passé à me réponde, cela correspond bien à mes attentes.
En effet une disparition de groupe permettrait de caché les groupes et d'impliquer si besoin certaines options permettant de caché les boutons au besoins.
Cela reste une possibilité à développé intéressantes

Cordialement,
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2