Bonjour à tous !
Je suis novice en VBA, et je rencontre un problème auquel je n'ai trouvé aucune solution malgré mes longues recherches sur le forum. Je ne peux malheureusement pas vous fournir le fichier qui est confidentiel, je vais donc tenter d'être le plus claire possible :
J'ai créé un fichier Excel 2010, dans lequel une macro me permet de faire apparaître / disparaître les lignes en fonction d'un clic sur un bouton ActiveX. Tout fonctionne très bien, le code utilisé est le suivant :
"
"
Je voudrais ajouter des menus déroulant dans les parties qui sont masquées lorsque le bouton ActiveX n'est pas coché. Pour cela, j'utilise le bouton "Zone de liste déroulante" avec le contrôle ActiveX (la validation des données n'est pas possible car elle induit un beug lors de l'ajout dans le logiciel auquel le document est destiné, et le contrôle de formulaire reste apparent lorsque les lignes sont masquées).
Malheureusement, lorsque j'enregistre le document avec les lignes masquées, la liste déroulante disparaît. D'après mes recherches, il s'agit d'un beug d'Excel 2010 qui fait rétrécir le menu jusqu'à lui donner la forme d'un point.
J'ai tenté le code suivant trouvé sur un forum mais rien n'y fait :
Auriez vous une solution ?
Merci par avance !
Je suis novice en VBA, et je rencontre un problème auquel je n'ai trouvé aucune solution malgré mes longues recherches sur le forum. Je ne peux malheureusement pas vous fournir le fichier qui est confidentiel, je vais donc tenter d'être le plus claire possible :
J'ai créé un fichier Excel 2010, dans lequel une macro me permet de faire apparaître / disparaître les lignes en fonction d'un clic sur un bouton ActiveX. Tout fonctionne très bien, le code utilisé est le suivant :
"
VB:
Private Sub CodeLot_Click()
Worksheets("Feuil1").Unprotect
If CodeLot.Value = True Then
Rows("X:X").Activate
Selection.EntireRow.Hidden = False
Else
Rows("X:X").Activate
Selection.EntireRow.Hidden = True
End If
Range("AX:BX").Activate
Worksheets("Feuil1").Protect
End Sub
Je voudrais ajouter des menus déroulant dans les parties qui sont masquées lorsque le bouton ActiveX n'est pas coché. Pour cela, j'utilise le bouton "Zone de liste déroulante" avec le contrôle ActiveX (la validation des données n'est pas possible car elle induit un beug lors de l'ajout dans le logiciel auquel le document est destiné, et le contrôle de formulaire reste apparent lorsque les lignes sont masquées).
Malheureusement, lorsque j'enregistre le document avec les lignes masquées, la liste déroulante disparaît. D'après mes recherches, il s'agit d'un beug d'Excel 2010 qui fait rétrécir le menu jusqu'à lui donner la forme d'un point.
J'ai tenté le code suivant trouvé sur un forum mais rien n'y fait :
Code:
Sub mémoriser(ComboBox2)
Dim Ctrl As Object
Lig = 2
For Each Ctrl In ActiveSheet.Shapes
Sheets("Feuil1").Cells(Lig, 1) = Ctrl.Name
Sheets("Feuil1").Cells(Lig, 3) = Ctrl.Top
Sheets("Feuil1").Cells(Lig, 4) = Ctrl.Height
Lig = Lig + 1
Next Ctrl
End Sub
Sub restituer(ComboBox2)
Dim Ctrl As Object
Lig = 2
With Sheets("Feuil1")
While .Cells(Lig, 1) <> ""
ActiveSheet.Shapes(.Cells(Lig, 1)).Top = .Cells(Lig, 3)
ActiveSheet.Shapes(.Cells(Lig, 1)).Height = .Cells(Lig, 4)
Lig = Lig + 1
Wend
End With
End Sub
Auriez vous une solution ?
Merci par avance !