Microsoft 365 "Dépassement de capacité"

rafi93

XLDnaute Occasionnel
bonjour à tous

sur une feuille contenant un tableau, j'ai une macro VBA qui se contente d'afficher toutes les colonnes, au cas où certaines seraient masquées, qui fonctionne parfaitement,
Sub Col_Affiche_tout()
Cells.Select
Selection.EntireColumn.Hidden = False
Range("A1").Select
End Sub

sur les cellules d'une colonne du tableau, j'ai rajouté une combobox toute simple pour sélectionner des items dans une liste
depuis, quand je lance la macro Col_Affiche_tout() j'ai un message d'erreur "Dépassement de capacité"
pourquoi ?
y a t il une solution ?

merci !
 

Cousinhub

XLDnaute Barbatruc
Bonjour,
Hello @pierrejean :)
A tout hasard, il n'y aurait pas un code genre :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
End Sub
Si c'est le cas, il faut remplacer Count par CountLarge (mais c'est rarement le cas de devoir sélectionner toutes les cellules...
Bonne fin d'apm
 

Katido

XLDnaute Occasionnel
Bonjour,

C'est effectivement le Target.Count qui sature quand on sélectionne toutes les cellules (il y en a 2 ^ 34)
car c'est plus que la limite du Long, et .Count ramène un Long.

C'est en fait très facile de sélectionner toutes les cellules, même si on ne le veut pas : il suffit de cliquer sur le petit carré en haut à gauche des en-têtes (au-dessus du 1 et à gauche du A)

Plusieurs solutions :
1) utiliser .CountLarge (mais probablement pas disponible avec les anciennes versions) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
End Sub
2) décomposer les lignes et les colonnes
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.rows.Count > 1 Then Exit Sub
If Target.columns.Count > 1 Then Exit Sub
End Sub
3) multiplier les nombres de lignes et de colonnes après conversion en Double
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If CDbl(Target.rows.Count) * Target.columns.Count > 1 Then Exit Sub
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 186
dernier inscrit
Eliyass