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 :

Création automatique d'onglets selon un modèle


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Autre
    Inscrit en
    Août 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Août 2015
    Messages : 28
    Points : 13
    Points
    13
    Par défaut Création automatique d'onglets selon un modèle
    Bonjour à tous,

    Je sollicite votre aide pour un projet qui dépasse complétement mes compétences J'utilise habituellement des codes trouvés que j'adapte à mes besoins car je ne suis pas expert en VBA mais je n'ai malheureusement rien trouvé pour mon projet.

    1 - Dans mon fichier, j'ai une page d'accueil avec un userform permettant de créer une nouvelle ligne dans le tableau. Le but serait que, lorsque la ligne est créée avec les informations de l'userform, un onglet se crée automatiquement, renommé par le numéro de référence renseigné dans l'userform (dans le fichier, "Fiche 1", "Fiche 2", "Fiche 3", etc).

    2 - Étant donné que le tableau comportera beaucoup de lignes et donc d'onglets (Fiches), je souhaiterai qu'une cellule "Suivi ->" soit créée automatiquement dans le tableau (colonne B de l'onglet "Accueil") avec un lien cliquable vers l'onglet créé pour ne pas devoir chercher la fiche désirée parmi tous les onglets et pouvoir arriver directement sur la fiche concernée en un click du fait que chaque onglet sera un dossier et qu'il y en aura des dizaines.

    3 - Lorsque le nouvel onglet (Fiche X) est créé, le contenu de l'onglet "Modèle" serait copié/collé automatiquement dans la nouvelle fiche vu que la procédure est identique pour chaque dossier et ainsi avoir la même base pour chaque fiche créée.

    4 - Dans la fiche créée, j'avais inséré un tableau Excel (Étape 4) où il était louable d'ajouter des lignes facilement. Cependant, lors de l'ajout d'une ligne, seules les lignes situées en dessous du tableau (colonne D à G) se décales vers le bas mais les autres colonnes restent statiques donc les intitulés ne sont donc plus alignés avec les lignes concernées. Dès lors, j'aurais souhaité savoir s'il était possible de procéder à un ajout de ligne en dernière position en VBA via un userform pour un tableau situé en milieu de feuille du fait que d'autres informations devront figurer après le tableau (Étape 5 et suivantes).

    5 - Vu qu'il y aura de nombreuses étapes, je souhaiterais qu'il y ait possibilité d'accéder rapidement à l'étape souhaitée où revenir rapidement à la page d'accueil pour changer de fiche (première ligne de chaque fiche). Actuellement, j'ai ajouté un lien afin de ramener à la cellule où est inscrit l'intitulé. Est-il possible que cela soit également intégré automatiquement lors de la création de fiche via l'userform de l'onglet "Accueil", tout en sachant que pour l'étape 5 (et suivantes) ne sera pas toujours en B36 suivant le nombre de lignes ajoutées dans le tableau de chaque fiche ?

    Je ne sais pas si tout ce que je souhaite réaliser est réalisable mais d'avance, je vous remercie pour votre aide et vos futurs conseils
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Citation Envoyé par AimKaa Voir le message
    1 - Dans mon fichier, j'ai une page d'accueil avec un userform permettant de créer une nouvelle ligne dans le tableau. Le but serait que, lorsque la ligne est créée avec les informations de l'userform, un onglet se crée automatiquement, renommé par le numéro de référence renseigné dans l'userform (dans le fichier, "Fiche 1", "Fiche 2", "Fiche 3", etc).
    Je te conseilles de t'appuyer sur l'enregistreur de Macro d'excel, il te donnera déjà un début de code avec les méthodes à mettre en place.

    Citation Envoyé par AimKaa Voir le message
    2 - Étant donné que le tableau comportera beaucoup de lignes et donc d'onglets (Fiches), je souhaiterai qu'une cellule "Suivi ->" soit créée automatiquement dans le tableau (colonne B de l'onglet "Accueil") avec un lien cliquable vers l'onglet créé pour ne pas devoir chercher la fiche désirée parmi tous les onglets et pouvoir arriver directement sur la fiche concernée en un click du fait que chaque onglet sera un dossier et qu'il y en aura des dizaines.
    A mon avis, c'est une erreur de conception que de partir avec un multitude d'onglet dans un fichier. Il serait, à mon avis, bien plus judicieux de n'avoir qu'un onglet "Visu" et un onglet "Data".
    La base de donnée dans Data avec un tableau Tab_Data, contenant tous les renseignements fournis via le userofrm.
    Et dans l'onglet "visu", un système de sélection qui permet de choisir quelle ligne du tableau Tab_data doit venir nourrir le contenu de l'onglet "Visu".
    En pratique, vu que ta feuille "Visu" contient un tableau avec un nombre de lignes variable, tu as 2 solutions
    • Deux bases de donnée (celle qui me parait être la meilleur)
      • Chaque ligne de ton tableau Data doit avoir un ID unique
      • Tu crées une seconde table de données (appelons la "Tab_Contenu", contenant une colonne ID Unique (qui fera le lien avec ta base Data) et 5 colonnes (Colonne 1,Colonne 2,Colonne 3,Statut) qui contiendront le contenu des colonnes idoines.
        Il y aura donc autant de lignes dans Tab_Contenu pour un ID Unique donné, que de ligne contenues dans le tableau de la fiche "Visu" correspondante.
      • Un petit tour dans Power Query, te permettra de faire la jonction entre les deux tableaux et de mettre à jour le contenu du tableau de la feuille "Visu"

    • Tu restes sur la base d'une seule base Tab_Data
      • Tu ajoutes au choix 1 ou 4 colonnes et tu mets en place un code qui va regrouper tout le contenu du tableau complet (dans le cas ou tu n'ajoutes qu'une seule colonne) ou le contenu de toute la colonne (dans le cas où tu ajouterais 4 colonnes)
        Un exemple (le choix ici est d'ajouter 4 colonnes)
        Si une ligne donnée, tes 4 colonnes contiendraient
        Contenu Col1 Ligne1;Contenu Col1 Ligne2; Contenu Col1 Ligne3 Contenu Col2 Ligne1;Contenu Col2 Ligne2; Contenu Col2 Ligne3 Contenu Col3 Ligne1;Contenu Col3 Ligne2; Contenu Col3 Ligne3 Contenu Statut Ligne1;Contenu Statut Ligne2; Contenu Statut Ligne3
        Il faudra ensuite découper le contenu de chaque colonne pour nourrir le tableau contenu dans "Visu" (Power Query devrait faire le taf aussi)


    Citation Envoyé par AimKaa Voir le message
    3 - Lorsque le nouvel onglet (Fiche X) est créé, le contenu de l'onglet "Modèle" serait copié/collé automatiquement dans la nouvelle fiche vu que la procédure est identique pour chaque dossier et ainsi avoir la même base pour chaque fiche créée.
    Si tu tiens quand même à avoir des 10aine d'onglet, ici il suffit simplement de faire une copie de l'onglet "Modèle" et de renommer la copie (l'enregistreur de macro donner le squelette du code)

    Citation Envoyé par AimKaa Voir le message
    4 - Dans la fiche créée, j'avais inséré un tableau Excel (Étape 4) où il était louable d'ajouter des lignes facilement. Cependant, lors de l'ajout d'une ligne, seules les lignes situées en dessous du tableau (colonne D à G) se décales vers le bas mais les autres colonnes restent statiques donc les intitulés ne sont donc plus alignés avec les lignes concernées. Dès lors, j'aurais souhaité savoir s'il était possible de procéder à un ajout de ligne en dernière position en VBA via un userform pour un tableau situé en milieu de feuille du fait que d'autres informations devront figurer après le tableau (Étape 5 et suivantes).
    Il faut utiliser un tableau structuré, et ce type de problème se réglera de lui-même. Il y a des tuto sur le sujet sur DVP, notamment ceux de Pierre Fauconnier.

    Citation Envoyé par AimKaa Voir le message
    5 - Vu qu'il y aura de nombreuses étapes, je souhaiterais qu'il y ait possibilité d'accéder rapidement à l'étape souhaitée où revenir rapidement à la page d'accueil pour changer de fiche (première ligne de chaque fiche). Actuellement, j'ai ajouté un lien afin de ramener à la cellule où est inscrit l'intitulé. Est-il possible que cela soit également intégré automatiquement lors de la création de fiche via l'userform de l'onglet "Accueil", tout en sachant que pour l'étape 5 (et suivantes) ne sera pas toujours en B36 suivant le nombre de lignes ajoutées dans le tableau de chaque fiche ?
    Dans ton onglet "Visu" unique, tu peux placer des boutons "Fiche Suivante", "Fiche Précédente" qui pointent respectivement sur la ligne suivante ou précédente de ta base Data.

    Citation Envoyé par AimKaa Voir le message
    Je ne sais pas si tout ce que je souhaite réaliser est réalisable mais d'avance, je vous remercie pour votre aide et vos futurs conseils
    Tout est réalisable, mais il faut y passer du temps et des gens en ont fait leur métier

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Création automatique d'onglets dans un UserForm
    Par Philippe_shelby dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2015, 17h38
  2. Création automatique d'onglets dans Userform - VBA
    Par chronos21 dans le forum VBA Word
    Réponses: 5
    Dernier message: 30/08/2013, 17h49
  3. Création automatique d'onglet
    Par vodulci09 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/04/2012, 20h35
  4. Création automatique d'onglets
    Par papaclab dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/09/2011, 18h41
  5. [XL-2007] Création automatique d'onglet depuis des fichiers
    Par grping dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/09/2009, 12h36

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