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 :

Aide pour code VBA Fichiers Tableau à scinder en plusieurs feuilles selon colonne définie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut Aide pour code VBA Fichiers Tableau à scinder en plusieurs feuilles selon colonne définie
    Bonjour, je suis assez bon avec Excel, mais je n'y connais pas grand chose en Macro (VBA). J'ai un fichier dans lequel j'ai dans une feuille, un tableau qui se complète au fil des jours, c'est-à-dire que nous ajoutons des lignes de nouvelles données. Le tableau ne change pas au fil du temps sauf pour l'ajout de lignes.
    J'aimerais pouvoir faire un tri pour une colonne contenant 5 données possible seulement. Je souhaite pouvoir les acheminer sur des feuilles distinctes avec seulement les données pour triées des 5 choix possible.
    Dans mon tableau, il y a des listes de choix que je souhaite conserver dans les nouvelles feuilles crées, de même que la mise en forme et la mise en forme conditionnelle.
    Je joins mon fichier en attente d'une réponse d'une personne plus expérimentée que moi.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Salut,

    Oublie VBA pour cela, et tourne toi du coté de Power Query.
    Ca fera le job de façon autrement plus efficace.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 122
    Par défaut
    Bonjour Deedolith, Dabert

    Dabert , faire un tri pour une colonne contenant 5 données possible seulement : tu peux expliquer?
    Pour la colonne A de type date, les 2 critères pour répartir sur des feuilles sont mois et année?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Après avoir regardé ton fichier:

    Définir un tableau de 2000 lignes ne sert à rien, les tableaux sont auto-extensibles, autant les faire le plus petit possible.

    Ensuite, concernant Power Query:
    1) Sélectionne une cellule quelconque de ton tableau.
    2) Dans le ruban, clic sur l'onglet "Données" puis le bouton "A partir d'un tableau", ca ouvrira l'éditeur Power Query.
    3) Filtre / trie tes données comme bon te semble (l'interface ressemble beaucoup à Excel).
    4) Dan le ruban, clique sur "Fermer et charger", tes données se retrouverons dans une nouvelle feuille.

    Dernier point, lorsque les données de la feuille "Données" auront été mises à jour, dans le ruban, il te suffira de cliquer sur l'onglet "Données" et le bouton "Actualiser tout".

    Le temps de faire tout cela: Moins de 5 minutes.
    Zéro lignes de code.
    Zéro sources d'erreur ni de stress.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Citation Envoyé par fraflt69 Voir le message
    Bonjour Deedolith, Dabert

    Dabert , faire un tri pour une colonne contenant 5 données possible seulement : tu peux expliquer?
    Pour la colonne A de type date, les 2 critères pour répartir sur des feuilles sont mois et année?
    Bon, d'abord merci pour avoir répondu à ma demande. Comme c'est un fichier qu'une autre personne, qui ne connaît pas Excel utilisera, j'aimerais l'automatiser au maximum.
    Le tri doit se faire sur la colonne Opérateur et je souhaite avoir les 5 feuilles (nom des opérateurs) dans le même fichier que mes données.
    La personne qui entrera les données, ajoutera au quotidien des lignes avec de nouvelles données. À chaque jour où à un moment opportun, il pourra faire la demande de refaire le le tri et obtenir les 5 feuilles mises à jour avec les novelles données. C'est pourquoi, j'avais fait un tableau de 2000 lignes. Cela pouvait, je pensais, éviter d'être obligé de remettre en forme les nouvelles données.
    De plus, la colonne Terminé est en format conditionnel pour la ligne, c-à-d que si un OUI est inscrit, toute la colonne s'affiche en vert pour indiquer qu'on ne doit plus tenir compte de cette ligne de données. Serait-il possible de mettre toutes ces données dans une nouvelle feuille pour les conserver pour utilisation future?

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Un tableau structuré recopie automatiquement les formules, le format, la mise en forme conditionnelle ainsi que la validation de données.
    Pourquoi avoir créer 7 règle de mise en forme soit le nombre de colonnes de votre table pour mettre en évidence la ligne de la table contenant "Oui" en colonne G. Une seule règle suffit à condition d'utiliser une référence mixte soit =$G2="OUI".
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Un tableau structuré recopie automatiquement les formules, le format, la mise en forme conditionnelle ainsi que la validation de données.
    Pourquoi avoir créer 7 règle de mise en forme soit le nombre de colonnes de votre table pour mettre en évidence la ligne de la table contenant "Oui" en colonne G. Une seule règle suffit à condition d'utiliser une référence mixte soit =$G2="OUI".
    Comme je ne suis pas un expert, j'ai composé avec ce que je sais. Pour ce qui est de la mise en forme, je crois que j'ai dû faire colonne après colonne par inexpérience.

    Mon but est d'avoir une feuille où une personne saisit des données et qu'à la fin de la saisie, on exécute une macro pour obtenir 5 feuilles, chacune nommée du nom de l'opérateur avec le contenu de chaque ligne y faisant référence. Et le lendemain on recommence et ainsi de suite.

  8. #8
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 560
    Par défaut
    Bonjour à tous

    pour compléter :
    Citation Envoyé par dabert Voir le message
    Bon, d'abord merci pour avoir répondu à ma demande. Comme c'est un fichier qu'une autre personne, qui ne connaît pas Excel utilisera, j'aimerais l'automatiser au maximum.
    PowerQuery une fois paramétré, c'est aussi automatique que VBA : et le bouton pour mettre à jour existe déjà : Données, Actualiser tout

    Citation Envoyé par dabert Voir le message
    De plus, la colonne Terminé est en format conditionnel pour la ligne, c-à-d que si un OUI est inscrit, toute la colonne s'affiche en vert pour indiquer qu'on ne doit plus tenir compte de cette ligne de données. Serait-il possible de mettre toutes ces données dans une nouvelle feuille pour les conserver pour utilisation future?
    Pas clair ! Tu veux mettre quelles données où et pour quoi faire ? Celle où terminé est égal à OUI ? Là aussi une simple requête PowerQuery le fait à moins que tu ne veuilles effacer ces lignes du tableau initial...

    Pourquoi une liste déroulante en B et pas en G ? en plus pour deux valeurs il est plus simple de les lister dans la Validation directement que d'utiliser des cellules.
    Sinon, dans tous les cas on place les sources de listes déroulantes dans un onglet spécifique et sous forme de tableau structuré (un par liste) afin d'avoir une liste évolutive sans modifier quoi que ce soit et de ne pas risquer qu'une insertion, suppression dans le tableau de saisie ne fasse exploser ces listes.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour à tous

    pour compléter :


    PowerQuery une fois paramétré, c'est aussi automatique que VBA : et le bouton pour mettre à jour existe déjà : Données, Actualiser tout



    Pas clair ! Tu veux mettre quelles données où et pour quoi faire ? Celle où terminé est égal à OUI ? Là aussi une simple requête PowerQuery le fait à moins que tu ne veuilles effacer ces lignes du tableau initial...

    Pourquoi une liste déroulante en B et pas en G ? en plus pour deux valeurs il est plus simple de les lister dans la Validation directement que d'utiliser des cellules.
    Sinon, dans tous les cas on place les sources de listes déroulantes dans un onglet spécifique et sous forme de tableau structuré (un par liste) afin d'avoir une liste évolutive sans modifier quoi que ce soit et de ne pas risquer qu'une insertion, suppression dans le tableau de saisie ne fasse exploser ces listes.

    Pour répondre à la question des données à mettre ailleurs, il s'agit de prendre les données des lignes qui ont un OUI dans la cellule G et de les regrouper dans une feuille portant le titre Terminé.
    Comme je le mentionnais, il faut savoir que la personne qui entrera les données ne connaît pas Excel. Donc pour lui permettre de faire les entrées rapidement et par la suite de faire une mise à jour pour chaque opérateur sans se poser de question, c'est pour cela que je préférais mettre en code VBA.

Discussions similaires

  1. Aide pour Code VBA ppour agrandire une image
    Par PixelsBoy dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 09/01/2023, 11h56
  2. [XL-365] aide pour Code VBA
    Par papoumarc dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 23/08/2021, 22h31
  3. Aide pour code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/02/2008, 09h33
  4. Aide pour code VBA
    Par bigbiboun dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/12/2007, 09h55
  5. [VBA] Aide pour code
    Par Virgile59 dans le forum Access
    Réponses: 2
    Dernier message: 22/05/2006, 14h16

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