Copier / Coller VBA

Bonjour,

j'aimerais créer un bouton qui me permet de copier une zone d'une feuille (avec la mise en forme) et de la dupliquer à coté à chaque fois que j'appuie sur le bouton. Le bouton se trouve dans une autre feuille que la zone à copier.

Worksheets("Feuil4").Range("A1:G42").Copy Worksheets("Feuil4").Range("A42:G84")

J'avais trouvé ca pour déjà faire un copier coller simple, mais ca ne fonctionne pas (erreur 1004). De plus j'aimerais passer par une variable pour gérer le décallage, mais pour ca je dois pouvoir indiquer les cellule via un truc genre : Cells(1,i+7) et non pas avec des lettres.

Je cherche à créer des bons de livraison automatiquement et j'ai besoin de la valeure i qui correspond au numéro du bon de commande (quelque chose de long qui finira par 1, 2, 3, etc...)

Un coup de main serait le bienvenue !

Bonjour,

Fichier ?

Bonjour,

ci-joint.

40mappe1.xlsm (32.79 Ko)

Bonjour

Si tu veux créer des bons de livraisons automatisés pourquoi ne pas utiliser la fonction déplacer ou copier (clic droit sur nom d'onglet) qui te crée une feuille similaire à la première, avec des données toujours à la, même place?

Sur cette feuille modèle tu peux créer une liste des bons de livraison qui s'incrémente à chaque nouvelle création de feuille

Ou est ton nr de bl ?

Tes BL sont ils créés pour une seule utilisation ou pour des récaps ultérieures

A ta dispo

Cordialement

FINDRH

Bonjour,

C'est ce que j'ai fais au départ, mais comme j'ai un peu de temps j'essaye d'améliorer le machin :

dans un onglet je veux lister les élements à livrer avec le numéro du bon de livraison auquel ils sont attribué. De là je veux créer les bons automatiquement et en faire une liste dans un autre onglet qui recapitule le contenu de chaque bon et contient un lien vers le bon en question.

Si j'arrive à faire marcher le machin, je pourrais créer tous les bons de tous les projets automatiquement à partir de la liste des éléments à livrer et le numéro du bon qui leur correspond. Je gallère pas mal, mais si j'y arrive je gagnerais du temps par la suite et j'éviterais des erreurs de recopiage.

A mon âge...Il n'y a plus d'amélioration possible...

Bonjour,

Dans le même sens que Machin [qui n'a nul besoin d'être amélioré ] il me semble que la meilleure organisation pour toi serait d'avoir un modèle de ta feuille Tabelle4 vierge [je suppose que c'est ça le bon de commande], conservé masqué.

Et la macro associée à ton bouton dupliquerait cette feuille lors de l'établissement du bon, le servirait (avec les éléments préalablement saisis ou pouvant être définis automatiquement) et poursuivrait par les autres actions afférentes à la préparation de l'expédition, voire au classement ou à l'archivage...

Cordialement

Bon, j'ai avancé le machin.

Mon gros soucis reste que je n'arrive pas à copier le bon de commande vide (ce que devrait faire le premier bouton).

Par contre j'arrive à remplir le bon avec les infos qu'il faut.

Me reste la liste des bons à créer dans le premier onglet avec lien si possible. A voir s'il est possible de donner un nom du type "blabla-blabla-01" oü le 01 passe à 02 au prochain bon. J'ai comme un doute, vu que ca reviendrait à "écrire" avec une variable dans du texte.

Au pire je laisserais comme tel avec deux cellules, une pour la partie fixe l'autre pour le numéro.

Biensur me faut un moyen de faire marcher le script du premier bouton, histoire de récupérer la mise en forme et le fond du bon.

@MFerrand : j'ai pas vraiment compris, mais je vais rester sur ce que j'ai fais ces dernières heures, histoire de pas gaspiller

43mappe1.xlsm (39.20 Ko)

Le processus est :

  • copier une feuille à partir d'un modèle,
  • la renommer,
  • recueillir les données pour la servir (y compris numéro incrémenté automatiquement),
  • servir la feuille,
  • éventuellement ensuite l'imprimer, la classer, etc.

Rien de compliqué à écrire, à condition de savoir où sont les données, et où les mettre (difficile à établir dans l'état de ton classeur).

Préalablement supprimer tout le code existant (soit des fragment d'enregistrements, donc à éliminer sans remord, soit des procédures qui semblent inutilement compliquées pour ce qui est à faire) : il est donc plus rapide de repartir à zéro.

Cordialement

Je ne vois pas l'avantage par rapport à ce que j'ai fais.

VBA permet de copier / coller, faut juste que je trouve comment procéder avec une zone. Les codes que j'ai trouvé sur internet me retourne un message d'erreur pour je ne sais quelle raison...

Mais c'est la seule chose essentielle qu'il me manque, avoir la page récapitulative serait bien, mais pas indispensable, s'il le faut je peux chercher le bon avec ctrf + f au lieux de cliquer sur un lien.

Ma feuille d'origine fait exactement une page, du coup je ne serais pas embêter pour imprimer normalement puisque page 1 => bon numero 1.

Je ne vois pas l'avantage par rapport à ce que j'ai fais.

VBA permet de copier / coller,

Désolé de ne pas avoir vu que tu avais fait quelque chose

Tu ne peux voir l'avantage de faire autrement tant que tu ne fais pas autrement.

VBA permet surtout de faire autrement que copier-coller, et mieux !

Cordialement

booooooooooooon j'ai plus ou moins réussis à faire ce que je voulais.

Me manque un moyen d'ajouter les liens automatiquement. Aucune idée si c'est possible par contre.

Je me suis aussi rendu compte que je vais avoir des bons avec 80x le même éléments. Autant pour les gros machins je trouvais ca bien d'avoir plusieurs 1x le même éléments dans la liste, autant si c'est 80x le même machin, ca ne marche pas xD

Regrouper un tableau devrait être facile avec excel.

Bonjour

J'ai repris ta macro de recopie elle fonctionne pour dupliquer ton bon et incrémenter le nr

Un conseil, remplir des colonnes est plus consommateur de taille que de remplir des lignes.

Ne vaudrait il pas mieux dupliquer vers le bas ?

Cordialement

FINDRH

19mappe1-2.xlsm (39.97 Ko)
Rechercher des sujets similaires à "copier coller vba"