VBA : Copier/Coller données en double + Recherche Colonne

Bonjour,

Mon problème n'est pas simple à expliquer, j'espère m'en sortir.

Dans mon classeur j'ai deux plannings différents, un sur l'année (A) et l'autre plus détaillé sur 3 semaines (B) , dont les dates se mettent à jour seules en fonction de la date du jour.

Sur le A, il n'y a qu'une seule ligne par employé. Sur le B deux lignes par employé.

Je voudrais, afin d'avoir automatiquement une base entrée dans le planning B créer une macro permettant de copier toutes les lignes du planning A et les coller en double par employé sur les deux lignes du planning B.

Deuxième difficulté, afin que les dates correspondent, la macro devrait copier les lignes seulement à partir de la colonne dont le numéro est indiqué en cellule A1 du planning B jusqu'à la colonne A1+20 ....

Est-ce possible ??

Ci-joint un fichier pour mieux comprendre le besoin..

Merci d'avance pour l'aide possible !!!

26planning.xlsm (164.34 Ko)

Bonjour

tu dis

Dans mon classeur j'ai deux plannings différents, un sur l'année (A) et l'autre plus détaillé sur 3 semaines (B) , dont les dates se mettent à jour seules en fonction de la date du jour.

c'est pas le cas dans le fichier fourni...

donc voici une proposition qui prend le depart en A1 planning B comme demandé mais cela suppose que les noms des personnes sont déjà renseignés dans la colonne B des deux planning et dans le même ordre, je suppose que cela ne change pas régulièrement, car je m'appuie sur le nombre de lignes occupées dans la colonne B de planning A pour savoir quand arrêté la copie des lignes

CTR+MAJ+C pour lancer la macro

fred

35planning.xlsm (171.53 Ko)

Merci beaucoup pour la réponse, l'idée fonctionne bien !!

Le seul problème dans cette proposition c'est qu'entre chaque copier/coller, une ligne reste blanche, ce qui décale par la suite toutes les lignes. Est-il possible de ne pas avoir cette ligne blanche ?


Au temps pour moi, j'ai trouvé ! En mettant :

.Range(.Cells(i, debCol), .Cells(i, finCol)).Copy ShB.Cells(i + (i - 4), "D")

.Range(.Cells(i, debCol), .Cells(i, finCol)).Copy ShB.Cells(i + (i - 4) + 1, "D")

Donc sans les " * 2 " , ça fonctionne parfaitement!

Encore merci !

Bonjour

En voulant aller trop vite.... tu as trouvé la solution, c'est l’essentiel.

merci de clore ce sujet alors :

fred

Rechercher des sujets similaires à "vba copier coller donnees double recherche colonne"