XL 2010 Sélectionner une ou plusieurs cellules après avoir coché un ou plusieurs checkbox

djedjeto

XLDnaute Junior
Salut cher frère. je suis nouveau dans l'utilisation des codes vba. j'ai un problème mais j'arrive pas à trouver solution. si quelqu'un peut m'aider c'est un devoir à remettre. En fait, j'ai un userform qui comporte 36 checkbox nommé checkbox_1 à checkbox_36 et une base de données excel dont les entêtes font aussi 36 ; Je voudrais qu'à chaque fois que je coche un ou plusieurs checkbox de l'userform de façon aléatoire, les cellules correspondante (A1,B1.....AJ1) qui sont des entêtes soient sélectionnées suivant le nombre de checkbox coché. aidez moi . merci
 
Solution
Est-ce que tu parles de cette instruction en dépassement de capacité ?
VB:
DernièreLigne = ThisWorkbook.Worksheets(FeuilleTableau).Columns(Me.ComboBox1.ListIndex + 1).EntireColumn _
                             .Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Je ne comprends pas pourquoi.
Ça peut planter si la colonne est vide mais pas en dépassement de capacité. La colonne n'est jamais vide puisqu'il y a les titres. J'ai quand même protégé par principe.

D'autre part cette instruction qui était en commentaire n'était pas 100% correct car ne prenant pas en compte un éventuel décalage du tableau dans la feuille.

A moins que tu aies plus de 32767 valeurs en colonne. J'ai modifié les indices Integer en Long.

Dudu2

XLDnaute Barbatruc
Dans une ComboBox si on ne sélectionne rien au départ, on a un champs vide (ListIndex = -1), les valeurs de la ComboBox étant "en-dessous" (ListIndex de 0 à n).

On peut sans conséquence sélectionner par programme la 1ère valeur de ComboBox1 "CODE_PROJET" (ListIndex = 0).

Question:
Faut-il par défaut sélectionner la 1ère valeur dans la ComboBox2 ou bien laisser cette 1ère valeur vide de manière à signifier que toutes les lignes sont à exporter ?
 

djedjeto

XLDnaute Junior
Dans une ComboBox si on ne sélectionne rien au départ, on a un champs vide (ListIndex = -1), les valeurs de la ComboBox étant "en-dessous" (ListIndex de 0 à n).

On peut sans conséquence sélectionner par programme la 1ère valeur de ComboBox1 "CODE_PROJET" (ListIndex = 0).

Question:
Faut-il par défaut sélectionner la 1ère valeur dans la ComboBox2 ou bien laisser cette 1ère valeur vide de manière à signifier que toutes les lignes sont à exporter ?
c'est mieux que cela soit laisser vide de manière à signifier que toutes les lignes sont à exporter. merci
 

Dudu2

XLDnaute Barbatruc
Une question n'a pas été évoquée qui concerne les valeurs vides dans la colonnes ComboBox1
Une valeur vide, c'est une valeur valable pour être critère de sélection en ComboBox2.
Cette version prend en compte les valeurs vides.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Cette version rend le traitement indépendant de la position du tableau dans la feuille en considérant que le UsedRange de la feuille est strictement constitué par le tableau.
C'eut été plus commode avec un tableau Excel structuré.
 

Dudu2

XLDnaute Barbatruc
Welcome !
Juste une petite remarque sur l'exercice.
La sélection par ComboBox2 ne permet de sélectionner qu'une seule valeur.
Si la sélection avait été faite avec une ListBox, il aurait été possible de sélectionner plusieurs valeurs, ce qui aurait quand même été plus judicieux.
Mais bon, ce n'est qu'un exercice.
 

djedjeto

XLDnaute Junior
Welcome !
Juste une petite remarque sur l'exercice.
La sélection par ComboBox2 ne permet de sélectionner qu'une seule valeur.
Si la sélection avait été faite avec une ListBox, il aurait été possible de sélectionner plusieurs valeurs, ce qui aurait quand même été plus judicieux.
Mais bon, ce n'est qu'un exercice.
merci DUDU2. ça me serait d'une grande utilité avec les listbox aussi car je suis sûr qu'on en viendra la. tu peux m'aider a voir comment cela se fera. sinon je ne comprends pas encore bien se fera la selection multiple avec une listbox
 

Dudu2

XLDnaute Barbatruc
Tri des valeurs (déclenché par valeur de constante modifiable) de la ComboBox2 et ListBox1 ajouté dans ces versions.
Dans le 2ème , la sélection multiple dans la ListBox se fait avec les touches <Control> ou <Shift> en standard.
 

djedjeto

XLDnaute Junior
Tri des valeurs (déclenché par valeur de constante modifiable) de la ComboBox2 et ListBox1 ajouté dans ces versions.
Dans le 2ème , la sélection multiple dans la ListBox se fait avec les touches <Control> ou <Shift> en standard.
waooooo. c'est impeccable. cela me donne vraiment une avance notoire. c'est ce qu'il fallait faire vraiment. merci infiniment DUDU. je l'ai fait tester à tout le monde et on te remercie.
 

djedjeto

XLDnaute Junior
waooooo. c'est impeccable. cela me donne vraiment une avance notoire. c'est ce qu'il fallait faire vraiment. merci infiniment DUDU. je l'ai fait tester à tout le monde et on te remercie.
juste un petit souci. lors du click dans le combobox1, parfois cela me met dépassement de capacité et ce en changeant la dernière ligne par la premiere expression de la dernière ligne que tu as définie, la selection multiple n'est plus possible au niveau de la listbox
 

Dudu2

XLDnaute Barbatruc
Est-ce que tu parles de cette instruction en dépassement de capacité ?
VB:
DernièreLigne = ThisWorkbook.Worksheets(FeuilleTableau).Columns(Me.ComboBox1.ListIndex + 1).EntireColumn _
                             .Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Je ne comprends pas pourquoi.
Ça peut planter si la colonne est vide mais pas en dépassement de capacité. La colonne n'est jamais vide puisqu'il y a les titres. J'ai quand même protégé par principe.

D'autre part cette instruction qui était en commentaire n'était pas 100% correct car ne prenant pas en compte un éventuel décalage du tableau dans la feuille.

A moins que tu aies plus de 32767 valeurs en colonne. J'ai modifié les indices Integer en Long.
 

Pièces jointes

  • monexercice-ComboBox.xlsm
    33.9 KB · Affichages: 6
  • monexercice-ListBox.xlsm
    40.2 KB · Affichages: 11
Dernière édition:

djedjeto

XLDnaute Junior
salut les amis. je remercie Dudu2 qui m'a vraiment aidé. mais j'ai un gros souci et je veux toujours de l'aide
je joins le fichier
mon problème c'est quand je clique pour faire des recherches en cochant sur les combobox , je reçois un message de dépassement de capacité et parfois est trop lent. je ne sais pas réellement comment trouver la solution. aidez moi..
quand je suis clique sur Rechercher le formulaire rechercher apparaît. je sélectionne le valeur dans les deux combobox et en cochant les checkbox le les exportes. seul, le formulaire d'export marche mais dans l'application cela se coince. le second arrive a la selection mais pour exporter cela se coince et tourne a ne point en finir
 

Pièces jointes

  • suivi des projets.xlsm
    783.8 KB · Affichages: 4
  • suivi des projets_exporterExcel.xlsm
    770 KB · Affichages: 3
Dernière édition:

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch