Problème: limite du nombre de checkbox au sein d'un onglet

skywash

XLDnaute Nouveau
Bonjour à tous,
Je précise avant tout que j'ai beaucoup cherché de solutions avant de poster ici, sans parvenir à en trouver une. J'espère que vous pourrez m'aider :)
Voilà, comme vous pourrez le voir en pièce jointe (ce n'est qu'un screenshot), j'ai une macro qui me sort une lsite de noms en colonne E. Cette même macro, en fin de traitement, créé, pour chaque ligne, une checkbox précochée, avec une cellule liée etc...
Le problème est que, à force de tests, à force de générations, Excel incrémente à chaque fois le "nom" de la checkox, et depuis peu, j'ai m'impression d'avoir atteint le nombre max de Checkbox que peut contenir un onglet Excel.
Pourtant ma macro attribue un nom a chaque Checkox avec un nombre qui s'incrémente, mais j'ai l'impression qu'Excel fait un comptage en background des checkbox crées sans jamais remettre le comptage à 0 (quand j'efface les checkbox par exemple).

Du coup, ma macro est inefficace: comme vous pouvez le voir, les checkbox se créeent correctement jusqu'à la 841ème ligne (elle est cochée, bien liée à une cellule, avec un texte vide) et à la 842ème ligne, paf, tout se barre en vrille.

J'aimerais savoir s'il existait un moyen, un bout de code qui me permettrait de remettre à 0 cette espèce de comptage des checkbox effectué par Excel qui m'empêche d'implémenter mes checkbox.

Je suis désolé de ne pas vous fournir la macro qui va avec mais elle est très très lourde, impossible de l'upload.

Merci par avance, je précise que je suis sous Excel 2003.

Cordialement,
 

Pièces jointes

  • excel.jpg
    excel.jpg
    49 KB · Affichages: 153
  • excel.jpg
    excel.jpg
    49 KB · Affichages: 176
  • excel.jpg
    excel.jpg
    49 KB · Affichages: 178

job75

XLDnaute Barbatruc
Re : Problème: limite du nombre de checkbox au sein d'un onglet

Bonjour skywash,

Pourtant ma macro attribue un nom a chaque Checkox avec un nombre qui s'incrémente, mais j'ai l'impression qu'Excel fait un comptage en background des checkbox crées sans jamais remettre le comptage à 0 (quand j'efface les checkbox par exemple).

C'est tout à fait exact. Mais je pense qu'on peut y remédier en renommant les CheckBoxes.

Ce code (à mettre à la fin de votre macro par exemple) renomme toutes les Shapes :

Code:
Dim n As Long, s As Shape
n = 0
For Each s In ActiveSheet.Shapes
n = n + 1
s.Name = "µ" & n 'nom provisoire
Next
n = 0
For Each s In ActiveSheet.Shapes
n = n + 1
s.Name = "MaShape " & n 'nom définitif
Next

A+
 

skywash

XLDnaute Nouveau
Re : Problème: limite du nombre de checkbox au sein d'un onglet

Bonjour, et merci pour votre réponse.
Déjà, génial que vous me confirmiez ce dont je me doutais, à savoir le comptage en background d'Excel.
Je vais essayer avec le code que vous m'avez donné, et vous tiendrais au courant du résultat.

Cordialement,
 

skywash

XLDnaute Nouveau
Re : Problème: limite du nombre de checkbox au sein d'un onglet

Re-bonjour,

J'ai inséré votre code, relancé la macro, mais tjs le même problème: les Checkbox sont bien renommées en "MyShape" avec un nombre qui s'incrémente, mais le problème persiste: le changement de nom ne semble rien n'y changer, Excel continue son comptage en background, comptage que j'aimerais beaucoup réinitialiser...

Je suis démuni :)
 

Pièces jointes

  • excel.jpg
    excel.jpg
    49.2 KB · Affichages: 150
  • excel.jpg
    excel.jpg
    49.2 KB · Affichages: 175
  • excel.jpg
    excel.jpg
    49.2 KB · Affichages: 171

job75

XLDnaute Barbatruc
Re : Problème: limite du nombre de checkbox au sein d'un onglet

Re,

(...) Excel continue son comptage en background (...)

Et alors en quoi c'est gênant ? Laissez faire Excel.

Il y a certainement une limite au comptage, mais Microsoft a sans doute (???) prévu de redémarrer ensuite à 1 avec le nom CheckBox1.

Je pense que ça coinçait parce que ce nom était déjà utilisé par une CheckBox.

Ce n'est plus le cas puisqu'on renomme les Shapes.

Mais je me trompe peut-être, et dans ce cas moi aussi je suis démuni.

La seule solution que je verrais alors serait de repartir sur une feuille vierge.

A+
 

skywash

XLDnaute Nouveau
Re : Problème: limite du nombre de checkbox au sein d'un onglet

Non, il y a toujours cette limite, j'ai beau renommé les checkbox (ma macro le fait également), rien n'y fait, excel fait son petit comptage perso sans jamais le remette à 0, et dès qu'il atteient 65535 (limite de lignes), patatra

Quant à repartir d'une feuille vierge... j'ai envisagé cette solution en dernier recours...
Si on fait une copie de l'onglet vers un nouveau classeur excel, le comptage en background d'Excel se réinitialise...
L'opération estr un peu lourde mais si c'est la seule solution...

En tous cas merci pour votre aide.

cordialement,
 

job75

XLDnaute Barbatruc
Re : Problème: limite du nombre de checkbox au sein d'un onglet

Re,

C'est donc Microsoft qui est fautif dans cette affaire ! Je n'avais jamais cherché à atteindre cette limite.

Mais vous savez, ce n'est pas très génial de multiplier les créations d'objets sur une feuille. Le poids du fichier en souffre...

On peut créer de fausses CheckBox en utilisant la police Wingdings (caractères spéciaux £ R þ).

Evidemment il faudra revoir la macro... Faites une recherche sur le forum.

A+
 

skywash

XLDnaute Nouveau
Re : Problème: limite du nombre de checkbox au sein d'un onglet

Oui Microsoft est fautif :)
Les versions supérieures d'Excel (2010 notemment) gèrent parfaitement ces limites, mais bon j'suis au taf, on est sous 2003 :(
Je sais que multiplier les créations d'objets sur une feuille ce n'est pas génial génial, mais malheureusement je n'ai pas d'autres solutions.
Par contre je n'ai pas très bien compris votre autre solution avec la police WingDings, je suis perplexe. Pouvez-vous m'en dire un peu plus? car je n'arrive pas à faire la relation entre la checkbox et le changement de police.

Merci :)
 

skywash

XLDnaute Nouveau
Re : Problème: limite du nombre de checkbox au sein d'un onglet

J'ai finalement adopté la solution du backup sur un autre fichier pour recopier coller la feuille qui contiendra les checkbox depuis le backup vers le fichier original.
Comme ça, Excel remet à 0 son comptage en background...

Merci pour la solution wingding, elle m'allait parfaitement (plus gérable en code en plus), le seul ennui résidait dans le double clic. Si j'avais pu adapter cette méthode avec gestion du simple clic, ça aurait été gé-nial.

Merci pour votre aide.

A+
 

job75

XLDnaute Barbatruc
Re : Problème: limite du nombre de checkbox au sein d'un onglet

Re,

Comme exemple, voyez cette macro dans le fichier joint :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [C4:C14]) Is Nothing Or Target.Count > 1 Then Exit Sub
Target = IIf(Target = "o", "þ", "o")
Target.Offset(, -1).Select
End Sub

Edit : voir aussi le fichier (2).

A+
 

Pièces jointes

  • FausseCheckBox(1).xls
    30 KB · Affichages: 83
  • FausseCheckBox(2).xls
    34 KB · Affichages: 80
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 472
Messages
2 088 710
Membres
103 930
dernier inscrit
Jibo