[MACRO] Copie de données dans onglet cible [Résolu/Fermé]

Messages postés
101
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
23 mars 2016
-
Bonjour,

Etant totalement novice en macro et VBA et la méthode d'enregistrement pas à pas ne me permettant pas d'atteindre mon objectif je m'en retourne vers vous.

Mon fichier:
Un onglet "Pivot central" comprenant 1 colonne de données (C5:C36) à copier dans un onglet cible.
Dans cet onglet sont présents 2 critères qui doivent déterminer l'emplacement de copie des données au sein du classeur:
- Une cellule B4 contenant NOM PRENOM qui determine l'onglet de copie. Les onglets du fichiers étant nommés selon les différentes valeurs du NOM PRENOM
- Une cellule C4 contenant MOIS ANNEE determinant l'emplacement de copie au sein de l'onglet voulu, la cellule MOIS ANNEE réapparaissant dans chaque onglet sur la ligne 10.

De plus les données devront se copier via collage spécial "Valeur et mise en forme".

Merci d'avance pour votre aide
Afficher la suite 

7 réponses

Messages postés
115
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
7
0
Merci
Bonjour,

Serait possible d'avoir un fichier exemple (sans données personnelles) ne serait ce que pour la mise en forme.

Vous pouvez générer un lien via le site http://cjoint.com/ que vous copiez ensuite sur votre message.
Messages postés
101
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
23 mars 2016
0
Merci
Voici une version retoquée du document :
http://cjoint.com/?0HwpPPPUBbx

Il faut donc que la plage de données C5:D36 de l'onglet Pivot Central aille se copier dans l'onglet correspondant à la cellule B4 et dans la colonne correspondant à la cellule C4 de l'onglet Pivot central.
La copie doit se faire en collage spécial : Valeurs avec mise en forme source.

Merci d'avance
Messages postés
101
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
23 mars 2016
0
Merci
Je vais essayer de définir le squelette de la macro si jamais un adepte du VBA passait par là:

Copier 'Pivot Central'!C4:C36
Coller via Collage Spécial (Valeurs + mise en forme) dans
Sheet name = 'Pivot Central'!B4
Emplacement = Rechercherh(C4;'Sheet ciblée'!B10:X10;1) et coller à cet emplacement.


Maintenant il ne me manque plus que la VBA.
Please, please, please,
Venez à ma rescousse.
Messages postés
101
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
23 mars 2016
0
Merci
Et un petit UP de rigueur en début de semaine.
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3708
0
Merci
Bonjour,

Une petite macro qui devrait effectuer ta fonction à placer dans un module :

Public Sub transfert()
Dim col As Integer
With Sheets([B4].Value)
For col = 2 To .UsedRange.Columns.Count
If .Cells(10, col) = [C4] Then Exit For
Next col
Range("C5:D36").Copy Destination:=.Cells(11, col)
MsgBox "Copie effectuée"
End With
End Sub

Avec ton classeur : http://cjoint.com/?DHzjnJuVCjD
hotliner49
Messages postés
101
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
23 mars 2016
-
Merci infiniment pour ton travail.
La macro s'adapte nickel chrome.

Juste un petit point -> Au sein de la macro quel opérateur faut-il ajouter pour réaliser une copie (Valeurs + mise en forme) ?
Messages postés
115
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
7
0
Merci
Bonjour,

Ci joint le fichier complété d'un bouton d'alimentation

http://cjoint.com/?DHzjGsn7WbU

les données sont transféré en fonction de l'onglet sélectionné et de la date d'indiqué à côté.
hotliner49
Messages postés
101
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
23 mars 2016
-
Petit souci avec ta macro puisque mes valeurs sont copiées en tant que texte et non en conservant leur format actuel.
Messages postés
101
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
23 mars 2016
0
Merci
J'ai trouvé mon bonheur avec ce code. Merci à l'Inpactien
Nitro-Teck.

Merci aussi aux 2 personnes du dessus, car certaines parties de leur code m'intéressent également.

Sub Copie()

Application.ScreenUpdating = False
'Selection de l'onglet principale
Sheets("Pivot central").Select
'Copie des cellules
Range("C4:C36").Select
Selection.Copy



'Sélection de l'onglet à copier
Nom = Range("B4")
Mois = Range("C4")

Sheets(Nom).Select
Rows(10).Find(Mois, lookat:=xlWhole).Select
Selection.PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial Paste:=xlPasteFormats

Application.CutCopyMode = False
Sheets("Pivot central").Select

Application.ScreenUpdating = True

End Sub