Erreur 438 commandbouton

Bonjour à toutes et tous

Je viens de réinstaller Office 2007 sur mon PC et j'ai un soucis avec un fichier (pas de soucis sur autre PC avec différente version de office):

J'ai cette erreur lorsque je lance l'initialisation du fichier: "Erreur d’exécution du fichier 438" Propriété ou méthode non géré par cet objet".

Elle se produit à cette ligne: ActiveSheet.CommandButton1.Enabled = True

Si vous avez des idées

Critof

Bonjour Critof,

Regarde dans les références de ton éditeur VBA, si tu n'as pas une "MANQUANTE"

A+

Bonjour,

Avez-vous fait tous les mise à jour suite à l'installation ?

https://www.microsoft.com/fr-FR/download/details.aspx?id=423

Bonjour BrunoM45 et sabV! Merci pour vos réponses

sabV a écrit :

Bonjour,

Avez-vous fait tous les mise à jour suite à l'installation ?

https://www.microsoft.com/fr-FR/download/details.aspx?id=423

Oui Office est bien à jour

BrunoM45 a écrit :

Bonjour Critof,

Regarde dans les références de ton éditeur VBA, si tu n'as pas une "MANQUANTE"

A+

Justement je ne sais pas laquelle est manquante

Voici ce que j'ai de coché par "défaut"

  • Visual Basic for applications
  • Microsoft Excel 12.0 object library
  • OLE automation
  • Microsoft Office 12.0 object library

Bonne journée

Bonjour à tous,

Identifie la feuille par son nom. La feuille contenant le bouton n'est probablement pas active au moment de l'exécution.

Cordialement.

Re,

S'il te manque une référence, c'est indiqué [MANQUANTE]

MFerrand a écrit :

Bonjour à tous,

Identifie la feuille par son nom. La feuille contenant le bouton n'est probablement pas active au moment de l'exécution.

Cordialement.

Bonjour MFerrand!

Normalement la feuille est bien active (enfin normalement!)

Voici le code que j'utilise

Sub boutonon()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet

'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
Ws.Activate
    'Renvoie le nom de chaque feuille
    ActiveSheet.CommandButton1.Enabled = True
    ActiveSheet.CommandButton2.Enabled = True
    ActiveSheet.CommandButton3.Enabled = True
    Next Ws
End Sub
BrunoM45 a écrit :

Re,

S'il te manque une référence, c'est indiqué [MANQUANTE]

Il n'y a aucune marqué comme MANQUANTE

Tu n'as de toute façon aucun besoin d'activer ! Il te suffit de supprimer cette ligne et remplacer ActiveSheet par Ws...

Si l'erreur persiste alors, c'est qu'une feuille n'a pas 3 boutons, nommés comme inidqué...

Cordialement.

MFerrand a écrit :

Tu n'as de toute façon aucun besoin d'activer ! Il te suffit de supprimer cette ligne et remplacer ActiveSheet par Ws...

Si l'erreur persiste alors, c'est qu'une feuille n'a pas 3 boutons, nommés comme inidqué...

Cordialement.

J'ai remplacer ActiveSheet par Ws cela n'a pas fonctionner et je n'ai que 3 boutons nommés comme il le faut.

J'ai modifié le code et j'ai utilisé celui-ci

Sheets("Nom_Feuille").Shapes("Bouton 01").Visible = True

Et ca fonctionne

En tout cas merci de vous êtes penché sur le problème!!

Ton code précédent faisait référence à des ActiveX ! Là c'est plus du tout pareil ! Faut savoir le type de boutons que tu utilises...

Oui j ai du changer le type de bouton !

En tout cas merci pour vos réponses

Rechercher des sujets similaires à "erreur 438 commandbouton"