Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Annulé

maya43

XLDnaute Nouveau
Bonjour,
j'ai créé un userform avec trois boutons.
j'aurais voulu que, quand une cellule à droite de la cellule active à une valeur plus petite que 8
alors le boutons entrées devient Enabled.

j'ai crée cette macro, mais elle ne fonctionne pas.

merci de votre aide.
Olivier

Private Sub Choix_Initialize()
If Sheets("Stockage")(ActiveCell.Offset(1, 0), ActiveCell.Offset(0, 9)) < 8 Then
Shapes("Entrées").OLEFormat.Object.Enabled = False
Else
Shapes("Entrées").OLEFormat.Object.Enabled = True
End If
End Sub
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Commande bouton

Bonjour maya,

Shapes("Entrées").OLEFormat.Object sont les formes que tu insère sur la feuille, c'est normal qu'il n'y aie pas d'action. Il faut écrire comme ceci lors-ce qu'il s'agit d'un CommandButton d'un formulaire.

Code:
Private Sub Choix_Initialize()  'si c'est le nom du formulaire
If Sheets("Stockage")(ActiveCell.Offset(1, 0), ActiveCell.Offset(0, 9)) < 8 Then
Me.Entrées.Enabled = False
Else
Me.Entrées.Enabled = true
End if
End Sub


A+
 
Dernière édition:

maya43

XLDnaute Nouveau
Re : Commande bouton

Hello,
merci de ta réponse, mais ca marche pas
je te joint mon fichier.
merci de ton aide.
Olivier
 

Pièces jointes

  • Stockage.xlsm
    104.9 KB · Affichages: 28
  • Stockage.xlsm
    104.9 KB · Affichages: 28

Lone-wolf

XLDnaute Barbatruc
Re : Commande bouton

I maya,

tu as mis ceci dans un module standard

Code:
Private Sub UserForm_Initialize()

Dim L As Long
    'Mémoriser le tableau de données avec une colonne supplémentaire qui servira à la
    'gestion des niveaux d'alimentation des combobox
    With Sheets("Listes")
        L = .Range("A65536").End(xlUp).Row
        TabTemp = .Range(.Cells(1, 1), .Cells(L, 5)).Value
    End With
    MAJCombo ComboBox1, 0
End Sub

Private Sub ComboBox1_Change()
Dim L As Long
    'Remise à zéro des niveaux
    For L = 1 To UBound(TabTemp, 1)
        TabTemp(L, 5) = 0
    Next L
    'MAJ du combo n°2 avec un flag de niveau 1
    MAJCombo ComboBox2, 1, ComboBox1.Text
    'RAZ des combo suivantes
End Sub

Pourquoi??? Le code est a mettre dans le module du formulaire.


Essaie avec ceci mais modifie les noms avant, je ne suis pas encore familiarisé avec le Offset.


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect([K2:K109], Target) Is Nothing And Target.Count = 1 Then
 Choix.Left = Target.Left + 150
 Choix.Top = Target.Top + 70 - Cells(ActiveWindow.ScrollRow, 1).Top
 Choix.Show
 
If ActiveCell.Offset(0, 0) <> "" And ActiveCell.Offset(0, 0) < Target.Offset(0, -1) Then
Choix.Entrées.Enabled = False
Else
Choix.Entrées.Enabled = True
End If
End If
End Sub


A+
 
Dernière édition:

maya43

XLDnaute Nouveau
Commande bouton

Bonjour,
je n'arrive toujours pas à résoudre mon problème.
je vais essayer de mieux l'expliquer pour que je puisse mieux comprendre vos explications

quand je sélectionne une cellule dans la colonne A. exemple: A1 j'ai un userform qui s'ouvre avec trois boutons.
si la cellule adjacente à la cellule active, dans ce cas la J1, a une valeur plus petite que 9, j'aurais aimé que le premier bouton sur le userforme soit inactif.

merci de votre aide.
Olivier
 

Pièces jointes

  • bloquage bouton.xlsm
    17.5 KB · Affichages: 24
  • bloquage bouton.xlsm
    17.5 KB · Affichages: 19
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Annulé

salut

Pour l'affichage, dans la page de code de l'onglet

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([A1:A109], Target) Is Nothing And Target.Count = 1 Then
    Choix.Show
  End If
End Sub
pour l'initialisation, dans la page de code du formulaire
Code:
Dim R As Range
Private Sub UserForm_Initialize()
  Set R = ActiveCell
  Entrées.Enabled = R(1, 10) > 8 'ou .Visible 
  Me.StartUpPosition = 0  'pour le placer ... 
  Choix.Left = R.Left + 150 "
  Choix.Top = R.Top - Cells(ActiveWindow.ScrollRow, 1).Top
End Sub
 

Discussions similaires

Réponses
4
Affichages
362
Réponses
1
Affichages
346
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…