Bouton control activ X

Bonjour à tous,

Je cherche comment désactiver un bouton control activ X , je voudrais que ce bouton actifs, " uniquement" si il y'a une X dans une des lignes de la colonne P .

En faite quand il y'a une croix mon fichier passe au vert, imprime un formulaire et transfert les lignes ayant une X vers une feuilles archives.

Seulement j'ai impérativement besoin que le bouton soit désactiver si pas de X afin d'éviter tout les ratés.

Merci par avance,
Steph

Bonjour,

Ou alors, tu rajoutes un exit sub en début de macro si aucun X n'est trouvé ? Genre :

if application.countif(range("P:P","X")=0 then exit sub

Bonjour,

...Ou alors tu mets pas de bouton et lorsque tu mets une croix ça archive directement !

A+

Bonjour à tous,

je rebondis sur la réponse de Joyeux Noel,

if application.countif(range("P:P","X")=0 then CommandButton.Enabled = False

++

@Mus,

Dans ce cas-là, le CommandButton ne sera-t-il pas désactivé et non cliquable la fois d'après ?

Si j'ai bien compris sa demande, il souhaite qu'on ne puisse pas cliquer sur un bouton si une condition n'est pas vérifiée.

Donc avec ta petite condition, s'il n'y a pas de "X" en colonne P il ne pourra pas actionner la macro.

Après, je ne sais pas comment est construit son USERFORM ..

Je ne sais pas tellement comment fonctionnent les boutons active X en fait, je préfère insérer des formes, ou des images représentatives de ce que va faire la macro.

Peut-être ne devrais-je pas, d'ailleurs.

Du coup, je ne vois pas ce qu'ils apportent de plus ? (à part le fait qu'on le voie s'enfoncer quand on clique dessus)

Hahaha, écoutes je ne savais pas non plus mais j'ai découvert ça récemment.

les boutons activ X fonctionnent comme les boutons des USERFORMS dans VBA, sauf que en Active X on a le bouton sur la feuille.

On peut gérer toutes les propriétés comme dans l'image suivante :

image

Salut Steph,
Salut l'équipe,

deux écritures possibles...
Taper ou effacer les "X" dans la colonne [F:F]

Private Sub Worksheet_Change(ByVal Target As Range)
'
If Not Intersect(Target, Columns(6)) Is Nothing Then _
    Me.cmdGO.Enabled = IIf(WorksheetFunction.CountIf(Columns(6), "X") > 0, True, False)
    'OLEObjects("cmdGO").Object.Enabled = IIf(WorksheetFunction.CountIf(Columns(6), "X") > 0, True, False)
'
End Sub


A+

1steph.xlsm (20.17 Ko)
Rechercher des sujets similaires à "bouton control activ"