Copier et insertion de lignes en fonction d'un nombre
Bonjour,
Le test fonctionne bien lorsqu’il y a rien dans la cellule mais le problème c’est qu’une fois la cellule est fusionnée ET si je veux refaire un fusionnement car j’ai ajouté des formations, je dois défusionner les cellules pour remplir chaque ligne vide. Pas simple…..
Ce qu’il faudrait c’est que dans une ligne ou groupe de lignes fusionnées SI il n’y a pas de nombre supérieur à 0 alors là je dois mettre une valeur dans le cas contraire le programme s’exécute normalement.
Je te joins ton fichier Excel que tu m’as envoyé pour que tu visualises mieux mes explications qui dans le domaine VBA sont un peu brouillon je le conçois. Tu verras si tu veux fusionner tu seras bloqué par le message que la cellule « 13 » est vide or la cellule « 13 » appartient au groupe de lignes fusionnées « 12,13 et 14 » et donc elle est bien renseignée. Si je veux que ta macro fonctionne, je suis obligé d’enlever la fusion de ces 3 lignes puis de rajouter dans les lignes 12, 13 et 14 la valeur qui est dans celle de 12 soit le chiffre 3.
Pour le classement ça fonctionne très bien sauf que je viens de m’apercevoir d’un petit détail c’est que si dans une formation je me trompe dans la saisie de la date de début dans une ligne cette dernière (ce qui est normal) se retrouvera dissocié de son groupe. Exemple : Si dans la formation RN97 qui à 3 places et qui commence le « 01/09/2017 », je modifie les dates de début des places n°1 et 2 au 01/01/2017 et celle de la place n° 3 au 01/06/2017 (par erreur car toutes les dates doivent être les même), j’aurai un décalage entre ces 3 places dans mon tableau et ça il ne faut pas.
Je me pose la question donc si la colonne des dates « G » et « F » ne doivent être fusionnée également. Ainsi je n’aurai qu’une seule date à modifier et non plus « x » dates en fonction des « x » place.
Dans ce cas si c’est possible il faudrait que le trie se fasse toujours en P1 sur la colonne « G » (date début fusionnée) puis en P2 sur la colonne « A » (le nom de la formation court » mais ajouter en plus en P3 la colonne « J » (numéro de place).
C’est vrai que l’on m’a toujours dit qu’en informatique il faut poser le problème à plat puis faire la programmation. Mais ça c’est peut-être vrai pour les initiés pas comme moi qui vais toujours en tâtonnant. Tout ça pour te dire que je suis désolé de te faire modifier encore une fois ton travail.
Cordialement.
Bonjour
philippe.p@ a écrit :le problème c’est qu’une fois la cellule est fusionnée ET si je veux refaire un fusionnement car j’ai ajouté des formations, je dois défusionner les cellules pour remplir chaque ligne vide
Je ne comprends pas très bien.
Joins moi un document tel qu'il est lorsque tu veux ajouter une formation, et cette formation , tu la saisis le plus simplement possible et tu y mets un fond coloré pour que je la reconnaisse...
Je me pose la question donc si la colonne des dates « G » et « F »...
Quand tu y auras répondu, fais moi part de ta réponse...
Bye !
Je te mets trois fichiers.
Le fichier « inscription V6 exemple1 » est le point de départ. Là pas de problème la fusion est OK ce qui donne le fichier « « inscription V6 exemple2 » j’ai mis en jaune). J’ajoute (en bleue) à ce fichier la formation RC 30 avec trois places donc 3 lignes. Là impossible de fusionner comme dans le fichier « inscription V6 exemple2 » car pour ton programme me signal que la ligne 4 colonne « I » est vide ce qui est « normal » car les ligne 3 , 4 et 5 sont fusionnées mais cependant il existe une valeur qui est 3 (j’ai mis en vert) fichier « inscription V6 exemple3 »
Pour pouvoir refaire une fusion je dois enlever les fusions existantes c’est le fichier « inscription V6 exemple4 » (j’ai mis en jaune) puis compléter les lignes vides c’est le fichier « inscription V6 exemple5 » (j’ai mis en vert). A ce moment là la fusion fonction sans problème c’est le fichier « inscription V6 exemple6 ».
Enfin je me pose la question si ce n’est pas mieux en lisibilité de faire un produit final comme le fichier « inscription V6 exemple6 ». Ainsi je n’aurais pas « x dates » à modifier en fonctions des « x » places » et réduiré ainsi les erreurs de saisie lorqu’il ya une modification de date. Mais dans le fichier « inscription V6 exemple6 » le trie de fonctionne pas.
Voilà est-ce que mon explication est plus claire ?
Cordialement
Salut gmb,
Je ne comprends pas car ton code fonctionne très bien dans ton fichiers mais lorsque j'y ajoute plusieurs lignes issue de mon fichier de travail il bugue.
Je te mets en PJ ton fichier dans lequel j'y ai ajouté environ 1/3 des lignes issues de mon fichier de travail. Tu verras qu'il tourne en rond. Je ne sais pas pourquoi.
Cordialement.
Nouvelle version
Attention ! Dans ton document, tu as des erreurs de saisie qui font bugger la macro :
* à la cellule i138, il manque le nombre de places, ainsi que
* à la cellule i441
* à la cellule i482
* et à la cellule i455, le nombre de places indiqué est 5 alors que dans la colonne suivante on va jusqu'à N°6
Ces erreurs corrigées, j'ai pu condenser les deux macros en une seule et, comme c'est un peu plus long, j'ai mis en compteur dans la barre des taches, en bas de la fenêtre à gauche, sur fond vert.
Bye !
Salut gmb,
Ton dernier fichier fonctionne. Super
Enfin merci pour le travail et bon noël.
Cordialement.
Bonjour
philippe.p@ a écrit :pour éviter les ERREURS de saisie comme précédemment, il y a-t-il un truc pour les trouver rapidement ?
Un truc non mais je vois bien un mode de saisie différent.
Si tu veux ajouter des lignes, pourquoi ne pas en ajouter une seule, en indiquant le nombre de lignes à dupliquer en colonne I, et en laissant vide la cellule de la colonne J. Au premier coup d'œil, tu verrais si tu as oublié d'indiquer quelque chose...
La macro devrait faire la duplication sans se tromper, en l'adaptant un peu.
Et si tu disposes d'une liste où tu as déjà des lignes dupliquées, tu peux toujours éliminer les doublons en effaçant la colonne J.
C'est toi qui vois...
Bye !
Salut gmb,
Même le jour de noël tu réussis à me répondre. Quelle passion et c'est super pour moi.
Dans ton explication ça ne marche pas car tu verras dans le fichier de départ où je mets une ligne à dupliquer (en jaune) que sur le fichier résultat la ligne a bien été fusionnée MAIS seulement une fois or que j'ai mis "3" places dans la colonne "I". Dans la colonne "J" les places n°2 et n°3 n'existe pas et la place n°1 n'est pas marquée.
Est-ce qu'on peut faire une légère modification dans la macro pour que finalement la colonne "A" ne soit pas fusionné cela me permettrait de faire des recherche par filtre sur les libellé court.
Cordialement et encore bon noël.
philippe.p@ a écrit :Dans ton explication ça ne marche pas car tu verras dans le fichier de départ où je mets une ligne à dupliquer (en jaune) que sur le fichier résultat la ligne a bien été fusionnée MAIS seulement une fois or que j'ai mis "3" places dans la colonne "I". Dans la colonne "J" les places n°2 et n°3 n'existe pas et la place n°1 n'est pas marquée.
Bien sûr que ça ne marche pas. Pas encore !
Ne t'ai-je pas indiqué :
gmb a écrit :La macro devrait faire la duplication sans se tromper, en l'adaptant un peu.
En fait, ce que je voulais savoir si ça t'intéressait : si tu souhaites pouvoir remplir au fur et à mesure des indications concernant les colonnes au-delà de J pour les N°1 , N°2.... effectivement, ce n'est pas intéressant.
Pour le détails des lignes de la colonne A, pas de problème, je t'ai mis un bouton. Il te suffira de cliquer à nouveau sur l'autre pour revenir à la présentation initiale.
Bye !
Salut,
Oui ça m’intéresse car l’idée est très bonne et ton bouton pour revenir à l'état initial de la colonne A c'est super.
Par rapport au résultat recherché, je te mets ce qu’il faudrait obtenir dans le fichier « Inscription v9 complété résultat 3 » en partant du fichier « Inscription v9 complété départ 1 ».
Chronologie :
Fichier de départ « Inscription v9 complété départ 1 » (en jaune) les deux lignes exemples ajoutées. La fusion donne le fichier « Inscription v9 complété résultat 1 » qui est OK sauf que les deux lignes n’ont pas étaient dupliquées et fusionnées comme elles auraient dues être dans le fichier « Inscription v9 complété résultat 2 ».
En appliquant ton programme sur le fichier « Inscription v9 complété résultat 2 » que j’ai rempli manuellement en bleue pour les éléments qui manquaient j’obtiens le résultat final recherché dans le fichier « Inscription v9 complété résultat 3 ».
Juste un point particulier : est-il possible que la hauteur des lignes s’adapte automatiquement au contenue.
Cordialement.
Salut GMB,
Super ton dernier code. Il fonctionne super bien mais juste un petit détail c'est lorsque j'augmente le nombre de place dans une ligne,je me trouve avec deux lignes n°1 (voir fichier Inscription v10 résultat2"). C'est un petit détail car je peux faire la correction manuellement mais c'est dommage.
Chronologie :
Le fichier "Inscription v10 départ" donne le fichier "Inscription v10 résultat1" là RAS.
Le fichier "Inscription v10 départ2" je modifie le nombre de place en jaune de la formation TC21 de 1 place à 3 places. Le fichier "Inscription v10 résultat2" donne le résultat et en jaune le problème de la numérotation.
Cordialement et merci pour tout.
philippe.p@ a écrit :C'est un petit détail...
Mais un détail dont je ne vois pas comment en venir à bout, sauf à tout reprendre et monter une usine à gaz.
Alors, je crois que je vais en rester là.
Comme tu dis : dommage !
Et tant pis !
Bye !
Salut
C'est pas grave. Merci pour tout.
Juste une question pratique, ce fichier est envoyé à des personnes pour qu'ils renseignent les lignes vierges qui les concerent. Comment je peux retrouver rapidement les info qu'ils ont mises sans me tromper.
J'ai pensé verrouiller les cellules déjà renseignées que j'ai validité pour éviter que les personnes qui reçoivent le fichier "navette" les modifient puis je pense imposer qu'une date soit mise au moment où les lignes vides sont remplies. De cette façon en faisant un filtre j'aurai rapidement les nouveaux renseignements.
Qu'est-ce que tu en penses ? Dans ce cas peut être obliger qu'une date soit saisie si un nouveau nom est ajouté.
Encors merci pour tout et bonnes fêtes de fin d'année.
Pourquoi ne pas mettre une police de caractère en couleur, rouge par exemple ?
S'il n'y a rien d'écrit dans la cellule celle-ci reste inchangée avec son fond blanc et s'il y a quelque chose de nouveau, c'est écrit en rouge.
Oui l'idée est bonne. Ça peut être fait par un code ou uniquement manuellement ?
philippe.p@ a écrit :Oui l'idée est bonne. Ça peut être fait par un code ou uniquement manuellement ?
Pour le faire avec un code, il faudrait connaître les conditions et que ces conditions obéissent à des règles répétitives...
Bye :
Ok.
Le mieux je pense c'est déjà que je vois comment vont se passer la récupération des informations par ce système de fichier navette.
Ensuite si c'est trop répétitif revenir sur le forum en précisant les conditions nécessaires pour faire un code VBA.
En attendant je vais me servir de ton excellent travail et te remercier encore une fois pour le temps que tu y as consacré.
Cordialement
Une dernière question ou plutôt deux dernière question :
Est-il possible d'avoir un code qui me permet de verrouiller les lignes dans lesquelles la colonne "S" comporte une date et me les mettent vert (voir fichier pour les ligne 3 à 7 comme exemple).
Dernière chose est-il possible que dans le code "fusion classement" qu'il y ait une ligne de commande qui puisse me permettre d'avoir la hauteur des lignes automatiquement ajustées au contenue pour ne pas avoir ce que j'ai mis en jaune.
Cordialement.