Erreur 438 à l'ouverture et ListBox

Bonjour à tous,

Mon 1ier message sur ce forum car je coince un peu.

J'ai une macro qui à l'ouverture se lance pour formater un ListBox car j'avais un soucis d'affichage de ce ListBox (changement de taille).

Voici le code :

Private Sub Workbook_Open()

With Sheets("MENU").ListBox1

.Clear

.Height = 120.75

.Width = 486

.IntegralHeight = False

End With

End Sub

Cela fonctionne très bien sauf que sur certains ordinateur ça me fait une erreur 438 "Propriété ou méthode non gérée par cet objet".

Je comprends pas trop d'où ça peut venir...

Peut être une version d'excel différente mais dans ce cas là quel morceau de code ne serait pas compatible??

Merci beaucoup pour vos réponses.

Bonjour,

si vous cliquez sur le bouton "Débogage" alors VBA s'ouvre avec une ligne surlignée en jaune pour vous indiquer où se situe l'erreur.

Si l'erreur est à l'ouverture d'un USF, alors le ligne surlignée sera la demande d'ouverture du USF, pour connaitre l'endroit du bug, il faudra suivre "pas à pas" le déroulement du code grâce à la touche F8 sous VBA.

@ bientôt

LouReeD

Bonjour,

Merci pour votre réponse.

Cela bloque en arrivant sur le ".Clear".

Et si j'enlève le ".Clear", sur celui d'après.

Je pense que le With est mal initié et qu'il y a une subtilité qui m'échappe avec les ListBox.

Je ne comprends en revanche pour cela marche sur certains ordis et pas d'autres (même version d'excel après vérification).

Qu'en pensez-vous?

Merci

Bonjour,

Toute seule, cette procédure fonctionne... Il faudrait savoir ensuite dans quel environnement...

Mais surtout, les 3 propriétés définies devraient l'être dans la fenêtre de propriété, une fois pour toutes ! Aucune raison qu'elles bougent par la suite.

Quant à .Clear ? Il faudrait savoir comment est alimentée la ListBox. Si elle est vide, pas besoin de la vider, si alimentée par .ListFillRange, je crois bien que l'erreur est alors normale !

Cordialement.

Bon je m'arrache les cheveux :

J'ai 2 versions identiques d'excel sur 2 ordinateurs différents.

Ca fonctionne très bien sur l'un et pas du tout sur l'autre (même fichier).

J'avoue que je ne vois pas du tout d'où ça peut venir.

Any idea?

On peut se demander pourquoi tu viens sur un Forum demander de l'aide dont tu ne veux manifestement pas !

Je ne comprends pas trop ta remarque.

J'ai pris en compte tes remarques en virant temporairement le bout de code que je pensais problématique.

En fait, la même erreur se génère dès que je sollicite la listbox sur d'autres macros. C'est juste que c'est la 1ier macro à s'exécuter et à solliciter la listbox.

Ma problématique est que le même fichier fonctionne très bien sur plusieurs ordinateurs et pas sur d'autres avec la même version d'excel.

J'ai donc écarté finalement une problématique ciblée sur le code

Et donc sur .Clear, qui ne fonctionnerait pas partout finalement si c'était ça le problème. (et qui plus est, la listbox est alimenté par AddItem, ce qui est compatible avec .Clear).

Finalement la question devient :

Qu'est ce qui peut faire qu'un même fichier, avec une même version d'excel, ne fonctionne pas de la même manière sur 2 ordinateurs différents?

Désolé pour le raccourci.

Je vais enquêter de ce côté là :

https://forum.excel-pratique.com/viewtopic.php?t=60484

Rechercher des sujets similaires à "erreur 438 ouverture listbox"