• Initiateur de la discussion Initiateur de la discussion maya43
  • 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 !

M

maya43

Guest
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 modification par un modérateur:
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:
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:
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

Dernière modification par un modérateur:
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
 
- 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

Réponses
9
Affichages
475
Réponses
2
Affichages
383
Réponses
4
Affichages
688
Réponses
4
Affichages
548
Retour