effacer plage de cellule sous controle de combobox

  • Initiateur de la discussion carlos
  • Date de début
C

carlos

Guest
Bonsoir

je n'arrive pas à comprendre pourquoi ca bug ???

si j'execute la macro suivante , ca bug ;

Private Sub Plannifier_Click()

Dim choixcombo As Range
Range('a1:e1').Select
Selection.Clear
End Sub

alors que si j'efface manuellement les cellules de a1:e1 alors y a pas de pb

Rq ; Il faut savoir quand meme que ces cellules sont liées respectivement à des combobox

Merci
 
C

carlos

Guest
Ca a ete difficile de reduire la taille de mon fichier à 45 ko mais ca y est .Cliquez sur le bouton plannifier et constatez ...
Maintenant si quelqu'un peu me dire pourquoi il refuse d'effacer cette plage 'a1:e1'

merci [file name=FichierTestCombo3.zip size=45716]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FichierTestCombo3.zip[/file]
 

Pièces jointes

  • FichierTestCombo3.zip
    44.6 KB · Affichages: 53

myDearFriend!

XLDnaute Barbatruc
Bonsoir Carlos,


Pour résoudre ton problème, tu peux remplacer :

Private Sub Plannifier_Click()
      Sheets('datew').Activate
      Range('a1:e1').Select
      Selection.Clear
End Sub

Par :

Private Sub Plannifier_Click()
      Sheets('datew').Range('a1:e1').Clear
End Sub

D'une manière générale, il faut éviter au maximum les 'Select' de cellules lorsque ces derniers ne sont pas indispensables. Cette façon de procéder allonge les temps de traitement et occasionne de temps en temps quelques mauvaises surprises.
Ta procédure 'Private Sub Plannifier_Click()' est liée à la feuille contenant le bouton 'Plannifier'. Aussi, vouloir sélectionner des cellules dans une autre feuille à cet endroit, n'est pas vraiment recommandé...


Cordialement.
 
C

carlos

Guest
Merci beaucoup Didier mDF

Et en plus tu est pedagogue ....

C'est la cerise sur le gateau

tu penses qu'il vaut mieux que je rassemble toutes mes données qui font reference à ce combobox sur la feuille qui le porte ???

ou y a t'il d'autres solutions encore plus efficaces car sinon j'ecouterai tes conseils car je debute en vba et je preferais etres assis sur de bonnes bases


Encore merci
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Carlos,


A vrai dire, je n'ai pas tout compris dans ton classeur et notamment dans l'histoire du ComboBox...

Rassembler toutes mes données qui font reference à ce combobox sur la feuille qui le porte ?
Non, Carlos, je suppose que tu n'y es pas obligé.

Je souhaitais juste te dire que, depuis un module (private) de feuille, si tu désires faire référence à une plage non contenue dans cette même feuille, il convient de rendre l'adresse cible explicite, je veux dire sous la forme Sheets('AutreFeuille').Range('A1')....

Pour optimiser ton code, il faut également éviter à tout prix les sélections inutiles de feuilles ou de cellules (dans la plupart des cas, point n'est besoin de sélectionner un objet avant d'effectuer un traitement dessus).

Par ailleurs, l'utilisation de plages nommées (comme tu l'as fait je crois) me parait être une bonne idée.

Bien sûr, ce ne sont que des conseils. Je me garderais bien de prétendre être la référence en la matière...


Cordialement.
 
C

carlos

Guest
Bonjour DidiermDF

En ce qui concerne l'histoire du ComboBox...

Sur la feuille classe j'ai placé un combobox qui doit éxecuter une macro des que je change une valeur contenue dans celui ci.

Mon probleme est qu'il s'execute des que j'ouvre mon fichier ...

Je ne comprends pas pourquoi ??

Esce parce qu'il met à jour ce bouton et ainsi ses macros associées???

Car lorsque je remplace ce 'bouton controle ' par un autre 'bouton formulaire ' la macro assocée au bouton ne s'execute pas et c'est ce que je souhaite .

Merci
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Carlos,


Heu... ce qui me gêne un peu pour te répondre Carlos, c'est qu'il n'y a pas de ComboBox dans la feuille 'Classe' de l'exemple que tu as joins ! (peut-être l'avais-tu enlevée pour allèger ton fichier ?)

Je suppose que la procédure associée aux changements de la ComboBox est 'Noms_eleves()', mais n'ayant aucune idée des éléments qu'elle contient et de la façon dont tu la charges (par la propriété RowSource ?), je ne peux me faire une idée réelle du problème... :eek:

Si tu as la possibilité de joindre ici, le fichier avec la ComboBox et tout ce qui s'y rattache (en épurant le reste), je veux bien jeter un oeil et essayer de comprendre...


Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22