VBA, création d'un nouveau tableau
Résolu
Maksime568
Messages postés
142
Date d'inscription
Statut
Membre
Dernière intervention
-
Maksime568 Messages postés 142 Date d'inscription Statut Membre Dernière intervention -
Maksime568 Messages postés 142 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite traiter des données en imprimant des fiches que des personnes viennent traiter manuellement derrière.
Mais chaque jour je doit créer de nouvelles fiches en ne changeant que quelques données et en agrandissant ou réduisant la série de données.
Voir le lien: http://cjoint.com/data/0JpgTGAPtfr.htm
Dans ce tableau les lignes 1 à 9 sont fixes et ne changent jamais.
les colonnes A, B et C sont les colonnes à valeurs modifiables.
la colonne A commence toujours par 1 mais peut varier, un jour 20 l'autre 40.
La colonne B est toujours dans le même ordre: emp1, emp2, emp3, emp4, emp1, emp2 ....
la colonne C est toujours incrémentée de 1 mais sa valeur change à chaque fiche.
la cellule D1 doit contenir une valeur que j'indique qui correspond à une date au format YYWWD.
Je souhaiterais avoir la possibilité de faire un bouton "nouvelle fiche" ouvrant une boite de dialogue me demandant:
- N° FIP (la case D1)
- Nombre de pièces (si 160 pièces cela me fera 80 "moulées" dans la colonne A)
- N° de la première pièce (afin de connaitre mon numéro de départ de la colonne C qui sera à incrémenter d'autant de pièces inscrites précédemment)
Je souhaiterais également, si possible, que la mise en forme du tableau (entourage des cellule) augmente ou rétrécise selon la taille de l'échantillon, afin de ne pas imprimer des cellules vides.
Suis-je clair dans ma demande?
Merci par avance
Maxime
Je souhaite traiter des données en imprimant des fiches que des personnes viennent traiter manuellement derrière.
Mais chaque jour je doit créer de nouvelles fiches en ne changeant que quelques données et en agrandissant ou réduisant la série de données.
Voir le lien: http://cjoint.com/data/0JpgTGAPtfr.htm
Dans ce tableau les lignes 1 à 9 sont fixes et ne changent jamais.
les colonnes A, B et C sont les colonnes à valeurs modifiables.
la colonne A commence toujours par 1 mais peut varier, un jour 20 l'autre 40.
La colonne B est toujours dans le même ordre: emp1, emp2, emp3, emp4, emp1, emp2 ....
la colonne C est toujours incrémentée de 1 mais sa valeur change à chaque fiche.
la cellule D1 doit contenir une valeur que j'indique qui correspond à une date au format YYWWD.
Je souhaiterais avoir la possibilité de faire un bouton "nouvelle fiche" ouvrant une boite de dialogue me demandant:
- N° FIP (la case D1)
- Nombre de pièces (si 160 pièces cela me fera 80 "moulées" dans la colonne A)
- N° de la première pièce (afin de connaitre mon numéro de départ de la colonne C qui sera à incrémenter d'autant de pièces inscrites précédemment)
Je souhaiterais également, si possible, que la mise en forme du tableau (entourage des cellule) augmente ou rétrécise selon la taille de l'échantillon, afin de ne pas imprimer des cellules vides.
Suis-je clair dans ma demande?
Merci par avance
Maxime
A voir également:
- VBA, création d'un nouveau tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment créer un nouveau groupe sur whatsapp - Guide
- Imprimer un tableau excel - Guide
2 réponses
Bonjour Eriiic et merci,
le principe est correct mais je trouve une erreur.
le copier/coller fonctionne bien mais il y a un petit bug sur la dernière ligne.
la ligne 13 est mal copiée et il manque la valeur de la colonne B.
Ton code VBA est trop complexe pour moi je n'ai pas réussi à trouver l'origine du problème.
Hormis ce défaut c'est parfait et exactement ce que je recherche.
Autre question, si jamais quelqu'un ordonne une nouvelle série mais sauvegarde la feuille, je vais avoir un problème lors de la création d'une nouvelle série non?
est-ce possible de bloquer ça?
Autre point, est-ce possible de me décrire dans les pages de code la correspondance des codes?
J'en comprend certains mais pas tous, et je vais avoir besoin de retranscrire cette programmation à un autre classeur légèrement différent en nombre de données.
Ça me permettrait de le refaire moi-même sans devoir les reposter ici car au total j'ai une dizaine de classeur dans le genre.
Merci beaucoup
le principe est correct mais je trouve une erreur.
le copier/coller fonctionne bien mais il y a un petit bug sur la dernière ligne.
la ligne 13 est mal copiée et il manque la valeur de la colonne B.
Ton code VBA est trop complexe pour moi je n'ai pas réussi à trouver l'origine du problème.
Hormis ce défaut c'est parfait et exactement ce que je recherche.
Autre question, si jamais quelqu'un ordonne une nouvelle série mais sauvegarde la feuille, je vais avoir un problème lors de la création d'une nouvelle série non?
est-ce possible de bloquer ça?
Autre point, est-ce possible de me décrire dans les pages de code la correspondance des codes?
J'en comprend certains mais pas tous, et je vais avoir besoin de retranscrire cette programmation à un autre classeur légèrement différent en nombre de données.
Ça me permettrait de le refaire moi-même sans devoir les reposter ici car au total j'ai une dizaine de classeur dans le genre.
Merci beaucoup
Rien de grave, juste un test à ajouter pour le nettoyage de la feuille. Je l'ai mis en dernière minute sans vraiment tester.
Ajouter ce qui est en gras :
If derlig > 14 Then Rows("14:" & derlig).Delete
je vais avoir un problème lors de la création d'une nouvelle série non?
Revient en expliquant quand tu auras un cas précis.
Tu peux aussi enregistrer ta feuille en modèle (*xltm), ta feuille originale sera toujours préservée.
Te décrire le code...
Là il n'y a que des fonctions basiques qui parlent d'elles-même.
Utilise déjà F1 (l'aide), et fait en pas à pas avec F8 pour voir les actions faites au fur et à mesure si un passage t'échappe.
Sinon pose une question précise.
eric
Ajouter ce qui est en gras :
If derlig > 14 Then Rows("14:" & derlig).Delete
je vais avoir un problème lors de la création d'une nouvelle série non?
Revient en expliquant quand tu auras un cas précis.
Tu peux aussi enregistrer ta feuille en modèle (*xltm), ta feuille originale sera toujours préservée.
Te décrire le code...
Là il n'y a que des fonctions basiques qui parlent d'elles-même.
Utilise déjà F1 (l'aide), et fait en pas à pas avec F8 pour voir les actions faites au fur et à mesure si un passage t'échappe.
Sinon pose une question précise.
eric
Houlà, il y a bien erreur mais de ma part.
1 moulée = 4 pièces donc 160 pièces = 40 moulées.
Je te prie de m'excuser
Pour ce qui est de la question sur un problème lié à la création d'un nouvelle série.
Pas de problème, j'avais déjà travailler sur un fichier excel avec création de nouvelle cellules comme toi mais ta fonction de nettoyage est parfaite alors que celle que j'avais utilisée auparavant n'était pas aussi bien faite.
Merci
1 moulée = 4 pièces donc 160 pièces = 40 moulées.
Je te prie de m'excuser
Pour ce qui est de la question sur un problème lié à la création d'un nouvelle série.
Pas de problème, j'avais déjà travailler sur un fichier excel avec création de nouvelle cellules comme toi mais ta fonction de nettoyage est parfaite alors que celle que j'avais utilisée auparavant n'était pas aussi bien faite.
Merci