Combo box ne fonctionne plus après exécution de la macro
gregcitt
Messages postés37Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention18 juin 2007
-
18 juin 2007 à 12:53
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
18 juin 2007 à 16:21
Bonjour à tous,
Sur une feuille Excel, j'ai des combo box (liste déroulante/modifiable).
Une fois que j'exécute une macro à partir de cette feuille, les combo box ne fonctionnent plus.
Elles ne fonctionnent donc que tant que je n'ai pas lancer de macro depuis la feuille
Savez-vous pourquoi?
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 18 juin 2007 à 13:38
Salut, il n'y aurait pas des references aux propriétes enable de tes listes par hasard dans le code des macro (si tu pouvais nous le faire voir pour juger) ?
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 18 juin 2007 à 13:50
Salut,
Comme le fait remarqué Nicko(salut), regarde si t a macro à un moment ou à un autre, elle ne met pas ton combo.enabled False, ou voir combo.locked True(si existe en VBA)...Mais le meiux serait de montrer un bout de code pour y voir plus clair...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 18 juin 2007 à 13:50
Bonjour,
1) j'ignorais l'existence de "macros" sous VB6 !!!! (quelque chose m'aurait échappé ?)
2) on peut voir ce que fait cette macro VB6ienne, donc ? (même si, finalement, elle n'est pas VB6ienne mais VBAienne)
3) comboboxes (sur Formulaire) ou "listes déroulantes/modifiables" (sur feuille VBA Excel) ?
Bon...(une fois de plus...)
gregcitt
Messages postés37Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention18 juin 2007 18 juin 2007 à 14:28
En effet, c'est u VBA pas du VB6, pardon.
Je pourrai éventuellement vous montrer le code mais je suis quasi certain que ça ne vous aidera pas
Le code de ma macro ne contient pas de propriété faisant rapport à la combo box.
En fait, c'est quelque chose que j'ai remarqué depuis le début que je fais des feuilles excel qui comportent à la fois des combo box et des macros.
En revanche, le point combo.locked me semble assez pertinent, je viens d'enlever pa propriété lock=true pour ces combo box et ça semble marcher, il faut encore que je teste les fermetures, enregistrements etc...
Merci à tous
Vous n’avez pas trouvé la réponse que vous recherchez ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 18 juin 2007 à 15:01
salut,
Je pourrai éventuellement vous montrer le code mais je suis quasi certain que ça ne vous aidera pas
Ca dépend, si c'est à partir de ce moment que ça plante, pourquoi cela ne nous aiderez pas ? Bien que ne travaillant pas sur tes combo avec cette macro, il suffit de toucher à autre choses pour avoir un problème..Pis tu dis qu'il y avait combo.locked true, beh oui, locked vérouillé, donc combo inutilisables
gregcitt
Messages postés37Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention18 juin 2007 18 juin 2007 à 16:13
Merci pour l'adresse du forum Office Vba qui me sera très utile.
Sans vouloir titiller et avoir le dernier mot, pour moi, le locked de combo box , c'était utile que sur une feuille protégée.
Je vous mets le code en question, un pe long pour le forum désolé
Sub CréationFichierSUivi()
'
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim nost As Long
'
nost = Cells(35, 5)
Nature = Cells(37, 5)
libelle = Cells(36, 9)
Depositaire = Cells(38, 5)
Isin1 = Cells(36, 5)
'Vérification que les taches aient bien été effectuées
If Depositaire = "PROCAPITAL" Then
If Sheets(1).CheckBox1 <> True Then
MsgBox "Verifiez que toutes les actions préalables aient bien été effectuées"
Exit Sub
End If
If Sheets(1).CheckBox3 <> True Then
MsgBox "Verifiez que toutes les actions préalables aient bien été effectuées"
Exit Sub
End If
If Sheets(1).CheckBox5 <> True Then
MsgBox "Verifiez que toutes les actions préalables aient bien été effectuées"
Exit Sub
End If
End If
If Depositaire = "GESTITRES" Then
If Sheets(1).CheckBox2 <> True Then
MsgBox "Verifiez que toutes les actions préalables aient bien été effectuées"
Exit Sub
End If
If Sheets(1).CheckBox4 <> True Then
MsgBox "Verifiez que toutes les actions préalables aient bien été effectuées"
Exit Sub
End If
If Sheets(1).CheckBox11 <> True Then
MsgBox "Verifiez que toutes les actions préalables aient bien été effectuées"
Exit Sub
End If
If Sheets(1).CheckBox5 <> True Then
MsgBox "Verifiez que toutes les actions préalables aient bien été effectuées"
Exit Sub
End If
End If
'Cochage de la checkbox
Sheets(1).CheckBox13 = True
'Récupération des donbnées du formulaire
reponse = MsgBox("Confirmez-vous la création du fichier de suivi de l'OST n°" & nost & " pour " & Depositaire & "?", vbYesNo)
If reponse = 7 Then
Exit Sub
End If
Range("G2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,Requêtes" & nost & "1.csv!R2C1:R50000C6,4,0)"
Range("G2").Select
If nblignesC > 2 Then
Selection.AutoFill Destination:=Range("G2:G" & nblignesC)
End If
Selection.AutoFill Destination:=Range("G2:H2"), Type:=xlFillDefault
Range("H2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,Requêtes" & nost & "1.csv!R2C1:R50000C6,5,0)"
Range("H2").Select
If nblignesC > 2 Then
Selection.AutoFill Destination:=Range("H2:H" & nblignesC)
End If
Range("H2:H13").Select
Columns("I:I").Select
Selection.Delete shift:=xlToLeft
For i = 2 To nblignesC
If Cells(i, 7) = 0 Then
Cells(i, 7) = "Autre"
End If
If Cells(i, 7) = 1 Then
Cells(i, 7) = "Ordinaire"
End If
If Cells(i, 7) = 2 Then
Cells(i, 7) = "PEA"
End If
Next i
'Mise en page du tableau
Range("E2:H" & nblignesC).Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Isin = Cells(2, 1)
Rows("1:1").Select
Selection.Insert shift:=xlDown
Rows("1:1").Select
Selection.Insert shift:=xlDown
nblignesC = nblignesC + 2
Range("C1").Select
ActiveCell.FormulaR1C1 = Nature & " de " & libelle & " " & Isin
Columns("A:B").EntireColumn.Hidden = True
Range("C1:M1").Select
With Selection
.HorizontalAlignment = xlCenterAcrossSelection
.VerticalAlignment = xlCenter
End With
With Selection.Font
.FontStyle = "Gras"
.Size = 14
.ColorIndex = 9
End With
Columns("F:F").EntireColumn.AutoFit
Columns("H:H").EntireColumn.AutoFit