Erreur d'exécution '-2147417848' lors d'un columnwidth dans Excel 2010

Résolu
Siefch1 - 4 févr. 2013 à 17:00
MarcPL
Messages postés
172
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
21 juillet 2013
- 5 févr. 2013 à 12:06
Bonjour,
Lors de l'activate d'un onglet j'applique le code suivant :

Sub ReportingRD_Activate()
If Visu2012 = False Then
'-- réduction des colonnes 2012
Columns("B:M").ColumnWidth = 0.1
Else
'-- affichage des colonnes 2012
Columns("B:M").ColumnWidth = 10
End If
End Sub

> ça marche nickel

Par contre, j'ai créé un bouton dans l'onglet pour basculer
l'affichage avec le code suivant :

Sub Toggle_visu2012()
If Visu2012 = True Then
' bascule à False et on cache les colonnes 2012
Visu2012 = False
Columns("B:M").ColumnWidth = 0.1
Else
' bascule à True et on montre les colonnes 2012
Visu2012 = True
Columns("B:M").ColumnWidth = 10
End If
End Sub


Lorsque j'appuie sur le bouton, j'ai le message d'erreur suivant :

Erreur d'exécution '-2147417848'
La méthode columnwith a échoué

Et l'excel se ferme méchamment.
Je ne comprends pas car le code me semble correct.
Quelqu'un aurait-il une idée ?

Par avance, merci !

6 réponses

En simplifiant au maximum ma macro et ma feuille, j'ai trouvé la cause du problème :
la columnwidth provoque cette erreur lorsque la colonne concernée contient un graphique sparkline !

C'est curieux car, manuellement, on peut le faire sans problème.
3
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
4 févr. 2013 à 19:28
Salut

Bizarre.
Est-ce que ton bouton est placé sur la feuille que tu manipules ?
Je devine que oui : Vois si le bouton est attaché à une cellule - peut être que les boutons n'aiment pas être rétrécis à outrance ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
0
C'est un bouton de controle de formulaire (inséré depuis le menu développeur). Il est effectivement sur le bon onglet et ne se trouve pas sur les colonnes à rétrécir.

Bizarre que le formatage fonctionne sur l'activate de l'onglet et que la même méthode plante sur un click de bouton
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
5 févr. 2013 à 08:53
Bonjour,
1) Qu'est exactement visu2012 ? Une booléenne ? Un objet (et alors lequel) ?
2) crées-tu quelque part des objets dynamiquement dans ton appli ? Si oui : lesquels et comment ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MarcPL
Messages postés
172
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
21 juillet 2013
2
5 févr. 2013 à 11:54
Sub Toggle_visu2012()
                      Visu2012 = Not Visu2012
    Columns("B:M").ColumnWidth = IIf(Visu2012, 10, 0.1)
End Sub

Voilà de la "bascule" !
___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
0
MarcPL
Messages postés
172
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
21 juillet 2013
2
5 févr. 2013 à 12:06
A vérifier : le graphique est-il protégé ?

Le déprotéger pourrait résoudre le problème ...

___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
0