IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Modifier le nom (caption) d'un onglet d'un multipage


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Par défaut Modifier le nom (caption) d'un onglet d'un multipage
    Bonjour,

    Je souhaite modifier le nom (caption) d'un onglet avec la ligne de code suivante mais j'obtiens une erreur. Le code se trouve à l’intérieur d'un module.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub TraductionAnglais_Clic()
    UFrmGestionBD.MPgeGestionBD.Page0.Caption = Worksheets("Table").Range("d136")
    End Sub
    UFrmGestionBD : Nom de l'userform
    MPgeGestionBD : Nom du multipage
    Page0 : Onglet numéro 1
    Caption : Nom de l'onglet

    Pouvez-vous m'indiquer ce qui ne vas pas ?

    Merci.

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par mika06 Voir le message
    ...
    Je souhaite (...) avec la ligne de code suivante mais j'obtiens une erreur.
    Bonjour,

    il faut tout d'abords lire le message d'erreur !

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    l'index Pages(i) d'une collection d'onglet commence à 0

    ce n'est pas le cas de l'objet page, qui commence à 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub TraductionAnglais_Clic()
    UFrmGestionBD.MPgeGestionBD.Page1.Caption = Worksheets("Table").Range("d136")
    End Sub
    là tu pointes bien ton premier onglet

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Par défaut Message d'erreur
    Oui le voici en pièces jointes.

    En te remerciant.
    Images attachées Images attachées   

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et bien évidemment la page0 existe ... tu as bien renommé tes onglets ... (habituellement un multipage commence par la page1)

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Sans même faire de test, on voit d'où vient l'erreur !
    C'est Pages(0) et non Page0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UFrmGestionBD.MPgeGestionBD.Pages(0).Caption = Worksheets("Table").Range("d136")
    Hervé.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Par défaut
    J'ai modifié ce que vous m'avez dit, à savoir :

    [LIST][*]remplacer page0 par page1[*]remplacer page1 par page(1)

    Cependant, l'erreur persiste toujours.

    En vous remerciant.

    Nom : lo.png
Affichages : 2293
Taille : 138,7 Ko

  8. #8
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu confonds l'indice de la collection Pages et le "Name" d'un page !

    l'aide VBA est pourtant claire à ce sujet :

    soit un Multipage1 contenant 2 pages située sur un Userform1
    Aucun renommage n'ayant été fait, ta première page est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.MultiPage1.Page1.Caption = "toto"
    Me.MultiPage1.Pages(0).Caption = "tata"
    ces deux lignes modifient bien la première page de ton contrôle (on reste bien sur sur le postulat que tu n'a pas modifié l'index est le Name des pages ..... NAME n'est pas le CAPTION)



    On va quand même désamorcer la suite de ta ligne : tu changes le caption en utilisant la valeur d'une cellule. Est-ce que la référence est bonne ?? (nom d'onglet etc..)

  9. #9
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Par défaut
    Ce que tu as vu en capture d'écran est une des tentatives que j'ai essayées. J'ai vraiment essayé tous les cas de figure. De plus, je ne pense pas que je confonds l'indice de la collection Pages et le "Name" d'un page car j'ai suivi un tuto qui me donnais toutes les possibilités de changer les captions d'un multipage.

    Nom : 000.png
Affichages : 2181
Taille : 22,9 Ko

    En te remerciant.

  10. #10
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Met une copie de ton classeur, avec uniquement le Userform qui contient ce multipage + la feuille où le caption est récupéré

    là je soupçonne fortement que tu as touché aux propriétés de ton multipage.

  11. #11
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Une collection d'objets prend toujours un 's' donc, c'est "pages(Index)" et non "page(Index)". Dans ta seconde capture, sur la ligne de débogage on voit bien que le 's' est absent !

    Les index ne peuvent être augmentés ou diminués, tu ne peux pas utiliser un index de valeur 5 si tu n'as que 5 pages (l'indexation commence à 0 et donc fini à 4) par contre, tu peux changer l'index d'une ou plusieurs pages (tout en restant dans la collection) afin de déplacer les pages les unes par rapport aux autres (comme le clic droit sur la zone libre des onglets en mode création qui te donne accès au menu "Déplacer...").

    Hervé.

  12. #12
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    +1 Hervé, j'avais pas vu le s manquant dans sa seconde copie écran

    il fallait que je troc mes lunettes pour un microscope sur ce coup là

  13. #13
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    La ligne du dessus a bien le 's' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UFrmGestionBD.MPgeGestionBD.Pages(0).Caption = Worksheets("Table").Range("d136")
    et donc, elle a obligatoirement fonctionnée, bizarre que mika06 ne nous en ai pas fait part ?

    Hervé.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Par défaut
    Salut,

    J'en suis toujours au même point, autrement dit je n'y arrive toujours pas. Je vous remets le fichier Excel pour que vous puissiez y jeter un petit coup d’œil.

    https://www.dropbox.com/s/envm6uvwa5...sure.xlsm?dl=0

    En vous remerciant infiniment.

    La ligne de code en question se trouve dans le module nommé ModuleTraduction. Les lignes vertes ont été mises intentionnellement en commentaire car une fois que j'aurai résolu le soucis, j'appliquerai la même chose sur celles-ci.

  15. #15
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par mika06 Voir le message
    La ligne de code en question se trouve dans le module nommé ModuleTraduction. Les lignes vertes ont été mises intentionnellement en commentaire car une fois que j'aurai résolu le soucis, j'appliquerai la même chose sur celles-ci.
    copie plutôt ta ligne ici .. pour ma part je ne vais pas ouvrir ton fichier

  16. #16
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    bonjour,

    j'ai eu le courage (!) d'ouvrir ton fichier .... c'est blindé de procedures qui s'appellent les unes et les autres
    y'a des connexions sur des bases ACCESS qui sont utilisées dans des procédures, ça part dans tout les sens pour des gens qui ne savent pas à quoi sert ce fichier

    bref, il ne nous servira à rien ce fichier, je ne suis pas plus avancé après l'avoir vu ... et j'ai même un doute sur le fait que ça soit ton changement de caption qui soit en erreur ... j'ai dû faire du pas à pas ... et me suis retrouvé bloqué dans tes parties qui font appel à tes BDD access

    pour résumer, peut-tu nous confirmer que :

    - tu as lu nos préconisations et que tu les as comprises
    - compris aussi que quand on fait référence à une Page de la collection PageS : l'index commence à 0, soit par exemple Pages(0)
    - quand tu fais référence directement à une Page par son nom (non modifié) : la première page est Page1
    - qu'on peut remplacer l'index de lafeuille par son nom : PageS(NomDeLaPage)


    si tu réponds oui aux quatre questions, alors tu peux résoudre ton problème seul
    sinon : relire nos suggestions et faire des tests sur un fichier vierge, avec uniquement un multipage et AUCUNE procédure parasite pour que tu puisses t'entrainer

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu....
    Bonsoir
    moi quand j'essaie d'ouvrir son fichier
    j'ai un gros plantage excel
    avec le message "excel a cesser de fonctionner...."

    edit:
    maintenant excel plante a chaque démarrage et me propose de redémarrer en mode sans echec
    conclusion fichier pourri je zappe la discussion
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    purée impossible pour moi de réinstaller office même en enlevant tout manuellement (suppression de programme regedit HKLM,common,local roaming etc....)
    j'ai tout enlevé et rien a faire

    tout est pétardé

    MIka06 pour moi liste noire
    Merci MIka06
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bon voila c'est réparé
    mika06 ton fichier met le a la poubelle
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Modifier le nom de l'application web qui apparaît sur l'onglet d'un navigateur
    Par Biggy_magicien dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 28/04/2015, 21h10
  2. Modifier le "nom machine" (hostname)
    Par hawax dans le forum Réseau
    Réponses: 6
    Dernier message: 06/03/2009, 11h50
  3. Modifier le nom des champs d'une table...
    Par Mr Capone dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2005, 11h22
  4. Modifier le nom d'une table.
    Par Asdorve dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/01/2005, 18h45
  5. Modifier le nom d'une base de donnée avec erreur sy
    Par mmn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/11/2003, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo