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

Forcer des zones de listes à une case particulière

loic3869

XLDnaute Occasionnel
Bonjour

J’utilise des zones de listes est il possible de les forcer à une case blanche à l’ouverture ou à la fermeture du fichier ou même par l’action d’un bouton de commande ?

Merci.

Loic.
 

mutzik

XLDnaute Barbatruc
Re : Forcer des zones de listes à une case particulière

Re, oui c'est possible, à l'ouverture et à la fermeture ou par un bouton ....
->à toi de nous donner plus d'éléments
 

loic3869

XLDnaute Occasionnel
Re : Forcer des zones de listes à une case particulière

J'ai trouvé un exemple sur le forum mais il s'agit de listes déroulantes dans le Formulaire moi elle a été créé par Boite à outils controles. Quand je fais "Format de controle" je n'ai pas l'onglet Controle. Comment faire alors ?

Merci.
 

loic3869

XLDnaute Occasionnel
Re : Forcer des zones de listes à une case particulière

Peronne n'a d'idées ? J'ai essayé de mettre une cellule dans LinkedCell mais cela affecte un même nombre dans toutes les cellules.

Merci.
 

Pierrot93

XLDnaute Barbatruc
Re : Forcer des zones de listes à une case particulière

Bonjour Loic, Bertrant

pas sur d'avoir tous les éléments, mais essaye peut être comme ci dessous :

code à placer dans le module "thisworkbook"
Code:
Private Sub Workbook_Open()
Sheets("Feuil1").ListBox1.Clear
End Sub

pour une "listbox" placée directement sur une feuille de clacul.

bon après midi
@+
 

loic3869

XLDnaute Occasionnel
Re : Forcer des zones de listes à une case particulière

J'ai essayé ce code mais j'ai une Erreur d'exécution -2147467259. Comment résoudre le problème ?
Et j'ai juste copié-collé votre code dans thisworkbook.

Merci.
 

Pierrot93

XLDnaute Barbatruc
Re : Forcer des zones de listes à une case particulière

Re

ce code chez moi fonctionne, maintenant il faut voir comment toi tu alimentes ta "listbox".

Mets ton fichier en pièce jointe, sans données confidentielles, mais avec le code, ce sera plus facile pour t'aider, car là en l'état vois pas trop...

@+
 

loic3869

XLDnaute Occasionnel
Re : Forcer des zones de listes à une case particulière

Bonjour,

Voici mon fichier pour mieux comprendre.Il est nomal que le "Call.o..." ne marche pas.

Merci d'avance.
 

Pièces jointes

  • Liste.xls
    24 KB · Affichages: 61
  • Liste.xls
    24 KB · Affichages: 63
  • Liste.xls
    24 KB · Affichages: 69

mutzik

XLDnaute Barbatruc
Re : Forcer des zones de listes à une case particulière

re,

1. j'ai regardé ton fichier, pourquoi vouloir mettre ces combos à blanc ?
2. oui, c'est normal que le call ... ne fct pas, cette procédure n'existe nulle part dans ton code
3. c'est quoi le but de ton appli, cela serait peut-être plus simple en commencant au début
 

loic3869

XLDnaute Occasionnel
Re : Forcer des zones de listes à une case particulière

Bonjour, merci

C'est pour la configuration d'un appareil. Et je souhaiterais les mettre à blanc car lorsque que je suis placé sur une case le réglage n'est pas pris en compte.
Il faut cliquer sur un autre choix et revenir à l'ancien choix.
 

Pierrot93

XLDnaute Barbatruc
Re : Forcer des zones de listes à une case particulière

Bonjour Loic, Bertrand

en fait il s'agit de combobox alimentée par la propriété "listfillrange", d'ou l'importance d'être précis sur leproblème... essaye peut être comme ci dessous, toujours à placer dans le module "thisworkbook", mais comme Bertrand problème avec le "call", procédure inexistante...

Code:
Private Sub Workbook_Open()
Sheets("Feuil1").ComboBox1.ListIndex = -1
End Sub

bon après midi
@+
 

loic3869

XLDnaute Occasionnel
Re : Forcer des zones de listes à une case particulière

Merci beaucoup Pierrot93 ça marche mais par contre que pour une seule ComboBox. Auriez-vous une solution pour plusieurs ?

Merci d'avance.

A+

Loic
 

Pierrot93

XLDnaute Barbatruc
Re : Forcer des zones de listes à une case particulière

Bonjour Loic

essaye comme ceci, pour toutes les combobox de la "feuil1" :

Code:
Private Sub Workbook_Open()
Dim x As OLEObject
For Each x In Sheets("Feuil1").OLEObjects
    If TypeOf x.Object Is MSForms.ComboBox Then
        x.Object.ListIndex = -1
    End If
Next x
End Sub

bon après midi
@+
 

loic3869

XLDnaute Occasionnel
Re : Forcer des zones de listes à une case particulière

Merci Pierrot93 j'ai utilisé votre ligne de code elle fonctionne bien avec Excel 2003 mais avec Excel 2000 il y a un bug. Toutes les listes ne sont pas sur des cases vides.J'ai plusieurs feuilles dans mon classeur.Et j'ai essayé sur une feuille ou il n'y a que des ComboBox ça marche mais sur ma feuille ou j'ai des ComboBox et des CommandButton ça ne marche pas.

Comment faire ?

J'ai essayé cette ligne de code mais le "commandButton" n'est pas accepté:

Private Sub Workbook_Open()
Dim x As OLEObject
For Each x In Sheets("Rapport").OLEObjects
If TypeOf x.Object Is MSForms.ComboBox And Not MSForms.CommandButton Then
x.Object.ListIndex = -1
End If
Next x
End Sub

Merci d'avance.

A+

Loic
 

Pierrot93

XLDnaute Barbatruc
Re : Forcer des zones de listes à une case particulière

Re

quand tu dis cela ne marche pas sous excel2000, cela veut dire quoi ? tu as un message d'erreur ou tu n'as pas le résultat escompté ? As tu essayé d'exécuter le code pas à pas (emploi de la touche de fonction F8 dans l'éditeur vba), et vérifié dans quel cas le test était vérifié ? N'ayant plus de version 2000 à ma disposition, difficile pour moi de tester...

@+
 

Discussions similaires

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