macro copier coller

mix770

XLDnaute Impliqué
Bonjour le forum,

j'ai enregistré une macro pour transférer les données d'un tableau annuel vers les lignes de chaque agent, sur un tableau de saisie de présence. Le principe c'est un tableau RTT annuel qui déverse sur la ligne de l'agent de chaque mois.

Sub copier_coller_2()

Range("C18:AG18").Select 'ligne correspondante janvier
Application.CutCopyMode = False
Selection.Copy

Sheets("JANV CONV").Select
Range("C9").Select ' ligne de l'agent sur le mois de janvier
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Sheets("Tableaux_RTT").Select
Range("C19:AF19").Select
Application.CutCopyMode = False
Selection.Copy

Sheets("FEVR CONV").Select
Range("C9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Tableaux_RTT").Select
Range("A1").Select
End Sub

ce n'est pas très propre, avez vous une idée afin de faire plus court sachant que cette opération est à répéter pour les 12 mois et que j'ai 30 agents sur le tableau.
Merci à vous
:)
merci
 

mix770

XLDnaute Impliqué
Re : macro copier coller

Re,

je sais pas je pensais que c'était plus facile pour l'utilisateur, un bouton placé au dessus de chaque tableau, le tableau et la macro associée au bouton correspond au tableau et donc au nom.

je te fais confiance donne moi ce qui te semble le mieux je te suis c'est toi le pro

ta proposition de double clic dans une cellule me convient très bien

cordialement
Roland
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : macro copier coller

Re[SUP]64[/SUP],

Tout compte fait (ça ne devrait pas être au pluriel, ça??) on dort une heure de plus, cette nuit!
Cette fois, j'ai mis le fichier.

Dans le module de la feuille "Tableau RTT", la partie du code liée à la gestion du double-clic. Comme précédemment, dans un module standard, le code adapté à la nouvelle demande.

Dans les trois premiers tableaux, j'ai utilisé une cellule "cible" colorée en vert, encadrée de rouge et avec un commentaire affiché (tu ne devrais pas la manquer!). Il suffira de la copier simplement dans les tableaux suivants dans toutes les lignes dont le n° se termine par 35 ou 85.

Si tu veux changer son emplacement, c'est possible, mais ... pas d'initiatives intempestives ;) (teste d'abord cette version en ajoutant simplement les 12 feuilles mensuelles ... j'ai supprimé janvier et février pour alléger)
 

Pièces jointes

  • macro copier coller (dispatcher rtt).xls
    190.5 KB · Affichages: 41

mix770

XLDnaute Impliqué
Re : macro copier coller

Re.....S

Modeste, je ne dirai qu'une chose "CHAMPION DU MONDE !!!"

ça marche impeccable j'ai essayé sur plusieurs nom y compris les derniers s c'est super ;);)

avec prudence une fois tout placé et enregistré j'ai voulu mettre la cellule en haut a droite (AD2) j'ai changé dans le vba

COLONNE 28 ET LIGNE 2

If Target.Column <> 28Then Exit Sub
If (Target.Row - 2) Mod 50 <> 0 Then Exit Sub?

mais évidemment si c'était aussi simple ....
il faut changer quelle valeur
merci encore à toi

pour une fois je suis dessus au matin
bien cordialement
Roland
 

Modeste

XLDnaute Barbatruc
Re : macro copier coller

Bonjour,


J'crois que j'vais craquer :(

Je suppose ... je présume et j'espère que tu appliqueras le même principe en AD52, AD102, etc.?

Pourquoi la colonne 28 :confused::confused: l'alphabet comptant 26 lettres, si tu y ajoutes 2 ... ça nous mènerait plutôt aux alentours de la colonne AB? Et tu nous parles d'AD!
L'autre modification est correcte, par contre! Loués soient les Dieux d'Excel :D

Le n° de la ligne (celle où le double-clic a eu lieu) est transmise à la procédure "dispatcher": il faut donc, dans le code du Module1, modifier la valeur affectée à ligEmployé et à ligPremierMois.
La première (comme son nom le laisse supposer représente la ligne où figure le nom de l'employé). Elle était, dans mon dernier essai, 28 lignes avant celle de la cellule "cible" ... je te laisse faire le calcul pour ces deux variables :)
Et surtout, reviens nous dire que tu as trouvé! :cool:
 

mix770

XLDnaute Impliqué
Re : macro copier coller

bonsoir Modeste,

non craque pas, je voudrais pas être responsable d'une atteinte à ta santé mentale ;)

je te rassure je reste dans la logique (Je suppose ... je présume et j'espère que tu appliqueras le même principe en AD52, AD102, etc.?)
on ne touche pas à la structure du tableau, je souhaitais juste que la cellule soit en haut à droite
merci à toi, tes précieux conseils avisés et surtout ton humour.
j'ai eu une journée chargée je travaille sur la modif demain et te dit quoi ;););)
bien cordialement
Roland
 

mix770

XLDnaute Impliqué
Re : macro copier coller

Bonjour Modeste,

the winner is .....
....Modeste :)

j'ai la soluce, cela donne

"ligEmployé = lig + 4 ligPremierMois = lig + 16"
ça marche impeccable

pour les colonnes c'est 30 AD et non 28 j'ai fait un loupé dans le calcul :-(
merci encore à toi et bravo
bien cordialement
Roland
 

Discussions similaires

Réponses
2
Affichages
124
Réponses
5
Affichages
135

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal