Bouton a faire disparaitre

Gunther

XLDnaute Nouveau
Bonjour tout le monde.

J'ai une idée en tête que je n'arrive pas a réaliser.
Je suis actuellement en train de créer un fichier de réservation pour l'entreprise dans laquelle je suis employé.

Mon fichier est quasi fini et je le fignole...

J'ai créé sur ma feuille principale des boutons de "validation".
Le problème, sur cette même page, j'ai 4 voir 5 boutons de validation lançant des macros différentes...

Actuellement, chaque bouton (fait a partir d'une forme automatique dans laquelle j'ai intégré une macro) reste cachée tant que les champs nécéssaires ne sont pas rempli...

En clair, meme si les boutons donnent l'impression d'être absents, ils sont toujours là... et ce dont j'ai peur, c'est que les personnes avec qui je travaille, activent une macro en pensant cliquer dans le vide alors qu'une macro était juste en dessous... invisible...

Y'a t'il un moyen (avec Excel 2K) de faire COMPLETEMENT disparaitre la forme automatique tant que les champs nécéssaires ne sont pas remplis ?

D'avance Merci

Gunther

P.S. grand merci à votre communauté... ce forum m'a permis de tres bien avancé sur mon projet !
 

Cousinhub

XLDnaute Barbatruc
Re : Bouton a faire disparaitre

Bonjour,

regarde le fichier joint

si les 3 cellules des colonnes A, B et C ne sont pas renseignées, le bouton n'apparaît pas...

Sinon, tu as accès au bouton...

Les codes dans le ThisWorkBook, et dans l'évènement de feuille
 

Pièces jointes

  • cacher boutons.xls
    28.5 KB · Affichages: 205

Pierrot93

XLDnaute Barbatruc
Re : Bouton a faire disparaitre

Bonjour Gunther

pour masquer ta forme :

Code:
Sheets("nomdetafeuille").Shapes("Rectangle 1").Visible = msoFalse

pour la faire réapparaitre :

Code:
Sheets("nomdetafeuille").Shapes("Rectangle 1").Visible = msoTrue

enfin si j'ai bien compris, noms des objets à adapter.

bonne fin d'après midi
@+

Edition : bonjour bhbh, désolé pour la collision...
 

Gunther

XLDnaute Nouveau
Re : Bouton a faire disparaitre

OUahou... alors c'est tout a fait ce que je recherche !

En clair c'est exactement le principe de ce que je voudrais faire un regardant le fichier de bhbh,
et je crois en meme temps, que le code de pierrot sera le plus adapté a ma situation ^^
(mais le problème c'est que je ne sais pas comment l'adapter)

Alors, j'ai pas mal modifier mon fichier afin d'adapter ce code facilement
en clair (ou pas) ce que j'ai fais,

avant :
pour qu'un bouton soit visible il fallait simplement que les champs soient remplis
Ce qui était assez problematique avec le fichier de bhbh car les cellules a remplir sont dispercées

après :
le bouton n'apparait que si le total des résultat obtient une certaine valeur

ex :
Maintenant, meme si 4 cellules sont dispercées (ex. A1,B6,D15,E3) et bien le résultat d'une cinquième cellule sera 4. (c'est un peu complexe a expliqué... désolé)

Bref... si j'ai fais ça de cette manière c'est pour pouvoir utiliser la formule de Pierrot :

Sheets("nomdetafeuille").Shapes("Rectangle 1").Visible = msoTrue (si A5=4 ou autre)

Finalité :
je voudrais seulement qu'un rectangle s'affiche uniquement quand la valeur d'une cellule est égale au chiffre donné... ^^ mais je n'arrive pas a adapter ton code Pierrot...
(c'est chiant les brèles) :D

A bientôt ^^

P.S. c'est quoi un ThisWorkBook ??
 

Pierrot93

XLDnaute Barbatruc
Re : Bouton a faire disparaitre

Re,

essaye peut être ainsi pour tester une cellule (cellule et forme sur la même feuille) :

Code:
With Sheets("nomdetafeuille")
    If .Range("A5").Value = 4 Then .Shapes("Rectangle 1").Visible = msoTrue
End With

@+
 

Gunther

XLDnaute Nouveau
Re : Bouton a faire disparaitre

Bonjour, et désolé de n'apporter une réponse que si tardivement :)

J'ai essayé d'integrer ce code a ma feuille... mais rien ne se passe...

Voila comment j'ai procédé :

J'ai cliqué sur "visualiser le code" de ma feuille.

Puis, Dans VB (général), j'ai collé le code en l'adaptant :

With Sheets("sorties")
If .Range("L23").Value = 4 Then .Shapes("Rectangle 9").Visible = msoTrue
End With


et la... Quand L23 est différent ET également quand elle est égale à 4... le cadre est toujours

Par contre, Maintenant quand j'active n'importe quel Macro, j'ai une erreur :

"Erreur de Compilation:
Instruction incorrecte à l'extérieur d'une procédure"


Avez-vous une idée ?

Encore merci pour votre aide !
 
Dernière édition:

Gunther

XLDnaute Nouveau
Re : Bouton a faire disparaitre

Bonjour tout le monde,
Bonjour Pierrot93

Un grand Merci à vous !!!

Ca fonctionne nickel :

voici le code comme je l'ai actuellement :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheets("sorties")
If .Range("A5").Value <> 4 Then .Shapes("Rectangle 3").Visible = msoFalse
If .Range("A5").Value = 4 Then .Shapes("Rectangle 3").Visible = msoTrue
End With
 

Discussions similaires

Statistiques des forums

Discussions
312 466
Messages
2 088 677
Membres
103 918
dernier inscrit
comite des fets allonzier