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

Conception Discussion :

Mettre à jour une feuille Excel à partir d'un tableau [XL-2016]


Sujet :

Conception

  1. #1
    Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2017
    Messages : 62
    Points : 53
    Points
    53
    Par défaut Mettre à jour une feuille Excel à partir d'un tableau
    Bonjour,

    Je voudrais réaliser sur une feuille Excel, à partir de VBA, un tableau sur le modèle de la copie d'écran jointe.

    Ainsi que vous le remarquerez, j'ai configuré ma feuille avec des colonnes étroites pour pouvoir tracer des "bordures" diagonales dans certaines cellules.
    Cela m'oblige à fusionner des groupes de 5 cellules destinées à afficher des valeurs (les heures en noir).

    Je n'ai pas de problème pour réaliser ce tableau par les méthodes classiques, mais cela implique d'intervenir successivement sur de nombreuses cellules et je sais que cela est beaucoup plus long que de préparer tout cela dans une variable-tableau et de copier ensuite ce tableau sur ma feuille.

    Cela, je le fais couramment lorsque je dois transférer seulement des valeurs, mais ici, je dois aussi réaliser des fusions de cellules et tracer des bordures.
    Sachant que l'on peut stocker dans une mémoire des plages(Range), je me suis dit qu'il devrait être possible de tout préparer dans un tel tableau et ensuite le "coller" sur ma feuille.

    J'aimerais savoir si c'est possible et, dans ce cas, comment dimensionner ce tableau et le charger des valeurs et formats voulus.

    D'avance je remercie celui qui voudrais répondre à ma demande...
    Images attachées Images attachées  

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 924
    Points
    55 924
    Billets dans le blog
    131
    Par défaut
    Salut.

    Il y a des solutions s'il y a des règles de gestion. La simple production du graphique ne nous permet pas de les établir. Il faudrait que tu en dises plus sur les données et les règles qui président à leur positionnement sur le graphique.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2017
    Messages : 62
    Points : 53
    Points
    53
    Par défaut Réponse à Pierre Fauconnier
    Bonsoir Pierre,

    Merci d'avoir répondu directement à ma demande.
    Avant tout, je voudrais te dire une chose qui me tient à cœur...

    J'apprécie beaucoup les articles et tutoriels dont tu es l'auteur car tu fais un effort particulier pour exprimer tes idées de façon claire et concise avec une maîtrise parfaite de la langue française (comme beaucoup de wallons, je crois).

    Ensuite que ne suis pas un assidu de votre Forum car pas particulièrement passionné par l'informatique et trop âgé (74) pour m'y mettre.
    J'avoue d'ailleurs ne pas comprendre grand chose à toutes ces nouvelles techniques de communication et j'ai, en particulier, du mal à piger comment ça marche sur votre site.

    Si je m'accroche, c'est que je voudrais, présenter à "notre" SNCB une idée pour promouvoir les transports en commun.
    Ayant été automaticien dans ma vie professionnelle, j'ai imaginé un truc beaucoup plus excitant, je crois, que ce qui est proposé sur leur site.

    Mais comme évoqué plus haut, je suis nul en informatique, donc incapable de développer quoi que ce soit pour dévoiler mes idées !
    Mais depuis 2000, ayant découvert pas mal de similitudes entre Excel et les automates programmables que je commercialisait, j'ai réussi à développer en Excel quelques programmes intéressants qui m'ont bien aidé dans mon boulot.
    L'un de ces programmes ayant été utilisé par notre maison-mère pour développer un magnifique programme 3D sur AutoCad, je me suis demandé si je ne pouvais pas utiliser la même technique pour faire passer mes idées à la SNCB.

    Mais je reviens à mon problème et à ta réponse qui me déconcerte un peu...

    Pourquoi me parles-tu d'un graphique alors qu'il ne s'agit pour moi que de remplir (après quelques formatages) les cellules d'une feuille Excel à partir d'une base de donnée (l'indicateur SNCB que j'ai transcrit dans une autre feuille) ?
    J'ai bien réalisé, il y a fort longtemps, quelques graphiques Excel pour présenter à ma direction des statistiques de ventes, je ne pense pas que cette technique pourrait être utilisée pour exposer mon idée.

    Je peux, si tu le souhaite, t'en dire plus mais je pense que ce n'est pas le bon endroit pour le faire.
    Peut être vas-tu penser que votre forum n'est pas destiné à aider des utopiques comme moi, issus d'une époque révolue.

    Je ne dirais pas que cela m'est égal, car je voudrais beaucoup pondre un truc intéressant du point de vue "esthétique".
    Comme indiqué dans ma demande, je me sens capable de résoudre mon problème sans passer par une variable-tableau.
    L'important, c'est de présenter mes idées.

    Merci de me répondre et de m'avoir lu jusqu'ici.

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 924
    Points
    55 924
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Merci pour ton appréciation. Cela me fait vraiment plaisir.


    Lorsque je parlais de graphique, je parlais de ce que tu as illustré dans ta demande, et nous sommes d'accord pour dire que ce "graphique" est en fait constitué de cellules fusionnées, de lignes et d'étiquettes.

    Il sera utile d'obtenir le tableau des données qui sont utilisées pour mettre en place ce que tu souhaites, et de comprendre les règles qui président au "dessin" des cellules. Sur ton illustration, je constate que
    • Les cases horaires ne sont pas espacées de façon régulière (sur la première ligne, 2 cellules entre les deux premières cases, 3 cellules entre la deuxième et la troisième, 0 entre les deux dernières);
    • Les longueurs des traits horizontaux ne me semblent pas proportionnels (le trait 20m n'est pas moitié moins long que le trait 40m);
    • On semble partir vers la droite sur une ligne du temps, mais entre les 4ième et 5ième ligne, on repart vers la gauche;
    • ...



    Le "dessin" en lui-même ne va pas poser problème, si l'on peut s'appuyer sur des règles claires. Tu parles d'une base de données transcrite de l'indicateur de la SNCB, mais je n'ai pas vu cette feuille. Pourrais-tu la produire et expliquer ce qui permet d'établir le positionnement des cases et des lignes?

    Je pense, pour conclure, que notre forum est adapté à ta demande, mais je déplace la discussion dans le forum Conception
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2017
    Messages : 62
    Points : 53
    Points
    53
    Par défaut Réponse à Pierre Fauconnier
    Bonsoir Pierre,

    Mille mercis pour ton intérêt pour mon projet !

    Comme je l'ai dit dans mon message précédent, je ne pige pas grand-chose à l'informatique et j'ai beaucoup de difficultés à m'y retrouver dans votre site qui est bien trop compliqué pour ma vieille cabosse... Entre autres choses, je ne comprends pas pourquoi je n'étais pas dans le bon forum ?

    J'ai voulu répondre directement à ton dernier message mais pour ne pas te faire perdre de temps j'ai essayé d'avancer un peu plus dans mon idée de présentation pour répondre complètement à ta question.

    Bien m'en a pris puisque j'ai constaté que j'étais parti vers quelque chose de très compliqué à réaliser (voir document Projet.PNG). L’idée était de placer les étiquettes indiquant l’heure de départ ou d’arrivée d’un train sur une grille dont l’axe horizontal indiquait la durée des trajets entre les gares (3 min par colonne). En plus de sa complexité, d’autres raisons m’ont détourné de cette option et je suis revenu à la précédente que je te présente plus loin. La discussion que j’avais initiée peut donc être fermée.

    Mais ce document te montre l’idée de base de mon projet. Elle affiche une des solutions qu’il m’était possible de choisir ce dimanche 27 janvier 2019 (c’est du vécu …) pour rejoindre une marche ADEPS (1) organisée à l’Abbaye de Floreffe. J’avais la possibilité (en partant à 6 :22) de prendre mon petit déjeuner à la cafeteria(4) de Charleroi, de repartir de Floreffe 2 ou 4h après mon arrivée pour rejoindre Bruxelles, via Namur, et de revenir à ma gare de départ 2h38, 3h38, 4h08 ou 4h38 après avoir rejoint la manifestation pour le climat(2) et récupéré mon coffret de CD à la « Boîte à Musique »(3).

    Je suis revenu sur la présentation (document Programme.PNG) que j’avais développée auparavant. Tout en affichant beaucoup plus d’options horaires, elle est plus compacte et permet en plus de proposer jusqu’à 3 options d’itinéraires pour joindre les activités visées. Tout cela condensé sur une feuille A4 imprimée avant de partir !

    Pour répondre à ta question, les colonnes 12-13, 25-26 et 38-39 (masquées à l’utilisateur) contiennent toutes les informations permettant de de remplir un tableau « modèle », ce que je réalise en VBA, sans trop de diffucultés, par une seule variable tableau. Ce que je n’ai pas encore réalisé, c’est la procédure permettant de permuter des options (connecteurs bleus).

    Les colonnes 12-25-38 sont issues d’une base de donnée mémorisant les index des lignes et colonnes qui permettent de récupérer dans l’indicateur SNCB (Doc « Indicateur_SNCB.PNG ») :
    - Les heures de départ et d’arrivée (pour le premier trajet de gauche, dans les 6 premières colonnes à partir de la colonne 5, affichant une heure d’arrêt sur la ligne 664 et 674)
    - Le nom des gares ainsi que le N° de chacune d’elles
    - La destination finale du train

    Ces N° de gares permettent de récupérer dans un tableau «Gares » :
    - La durée minimum (par défaut 10min) réservée pour changer de train.
    - Les services disponibles en gare (1 à 6)
    - Les coordonnées de chaque gare (permettant de la repérer sur un plan et de tracer le parcours du train)

    Dans le bas de la colonne 12, les adresses des « cibles » à atteindre (j’ai choisi ce nom pour les activités visées par le programme) sont mémorisées. Elles permettent de récupérer dans une série de tableaux :
    - Les durées minimum réservées pour chacune d’elles
    - Les dates ou périodes, jours de la semaine (ou congés) et les heures d’accès
    - Leurs coordonnées …
    - Les infos pratiques utiles pour l’utilisateur …

    Je n’en dis pas plus (c’est déjà assez long comme ça). Je reste à ta disposition au cas où …

    Encore merci pour ton aide !

    Bien à toi
    Images attachées Images attachées    

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/09/2018, 16h19
  2. mettre à jour une feuille excel grâce à une autre
    Par ffdelaperdition dans le forum Excel
    Réponses: 4
    Dernier message: 01/07/2018, 23h11
  3. [XL-2007] Mettre à jour une feuille de calcul à partir d'une autre.
    Par ziad.shady dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/01/2010, 18h24
  4. Réponses: 2
    Dernier message: 08/04/2008, 18h47
  5. Réponses: 5
    Dernier message: 05/07/2005, 20h25

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