Utilisation Multipages

Bonjour

J'ai écrit un petit code sous VBA qui tourne sans problème depuis quelques mois maintenant (Grâce à vous ....!). Plus plus de lisibilité, j'ai créé des onglets dans le formulaire en multipages. J'ai déplacé les frames dans divers onglets, sauf les boutons tels que 'Quitter', 'Suivant', 'Annuler', 'Modifier' ....

Le formulaire s'appelle 'FA'.

Depuis cette modification, j'ai une erreur au lancement de ma routine.

J'ai reporté l'erreur dans le code ci dessous. J'imagine bien que le multipage est en cause, mais je ne sais comment résoudre le problème.

Merci pour votre aide

Frédéric

Sub Creation()
    'Ouverture la fenêtre contenant le formulaire d'ajout d'une FA

    ReSecteur = False
    Ajout = True
    Modif = False
    suivant = False
    precedent = False
    ClotureQ = False
    ClotureT = False
    Libre = True

    FA.CmdModifier.Visible = False ===>> L'incide n'appartient pas à la sélection
    FA.CmdQualité.Visible = False
    FA.Frame17.Visible = False 'frame recherche
    FA.FrmFA.Visible = False 'frame NumFA
    FA.CmdSuivant.Visible = False
    FA.CmdPrecedent.Visible = False

    FA.Show

End Sub

Bonjour,

Difficile de tester quoi que ce soit sans fichier.

On ne voit aucune référence à tes pages.

Si le contrôle CmdModifier est sur la page 1 j'imagine plus qcq chose comme ça :

FA.multipage1.CmdModifier.Visible = False

Mais tu semble dire qu'il est directement sur le formulaire...

En tout état de cause excel ne le voit pas directement dans FA.

Mettre FA dans la fenêtre espion et le déplier te permettra peut-être de voir comment il est constitué et de retrouver ton contrôle.

eric

Bonjour Eric

Effectivement, le bouton CdmModifier n'est pas dans un onglet, mais directement dans le formulaire.

La fenêtre espion ne donne rien à déplier, juste le message :

<Variable objet ou variable de bloc With non définie>

Voici le fichier en question, pour plus de compréhension.

Merci d'avance

Frédéric

Voici le fichier en question

Ah oui ?

La fenêtre espion ne donne rien à déplier, juste le message :

<Variable objet ou variable de bloc With non définie>

Il faut mettre un point d'arrêt quand le formulaire est affiché et l'interroger à ce moment, sinon il n'est pas construit.

Pas terrible de poser la question dans plusieurs forum sans prévenir. Pour moi c'est rédhibitoire, pas envie de passer 1/2h sur un fichier pour m'apercevoir ensuite que c'était résolu depuis 3h ailleurs.

eric

Eric,

Ce n'est pas dans mes habitudes de faire bosser les gens pour rien. Il est vrai que ce n'était pas le bon plan de poster aussi sur un autre forum. Comme tu semblais perplexe devant mon cas, j'ai tenté ma chance ailleurs.

Accepte mes excuses pour la perte de temps potentielle.

J'ai reduis le fichier.

Pas de d'info supplémentaires malgré le point d'arrêt.

Je comprendrai que tu laisses tomber mon cas!

A+

Frédéric

264fa-forum.zip (83.98 Ko)

Bonjour

Suite à l'instruction le code procède à l'initialisation de l'userform FA et c'est dans la procédure "UserForm_Initialize" qu'il y a une erreur

Private Sub UserForm_Initialize()
Dim i As Integer
Dim Plage As Range

Set WsBase = Sheets("Base")
Set Ws = Sheets("Listes")

Worksheets("Menu").Activate

La page "Menu" n'existe pas c'est "Menus" avec un s

Mais ce n'est pas tout le programme plante sur l'instruction

TextBox27.Value = Box3.Value + 5 ' Ajout automaitique 5 jours à date enregistrement

Et ce n'est pas fini plantage aussi sur

Box2.SetFocus

car tu n'es pas sur la bonne page

Donc j'ai corrigé le nom de la page, mis en commentaire les 2 autres lignes et l'userform s'ouvre

Pas été plus loin

Bonjour Banzaï, bonjour à tous

Merci Banzaï pour tes éclaircissements,

Que le pgm plante sur différentes box, c'est normal, le fait de les déplacer dans des onglets a généré des modif sur leur nom par défaut.

Sinon, si je comprend bien, c'est à cause d'un problème dans la routine d'initialisation que j'ai ces messages d'erreur dans les différents modules?

Je vais continuer la mise à jour des noms de toutes les box en précisant l'onglet et je verrai bien.

A+

Frédéric

Bonjour

Le problème est résolue. L'erreur signalée plus haut provenait d'une erreur de code dans la routine 'Private Sub UserForm_Initialize()' (Box inexistante)

Merci à tous pour votre aide

Frédéric

Rechercher des sujets similaires à "utilisation multipages"