Posté(e) le 23 août 201410 a Bonjour, Je vais être honnête, c'est un peu plus que de l'assistance dont j'ai besoin, je fais donc appel à une âme charitable. Même si le VBA n'est pas n'ont plus le code le plus apprécié étant propriétaire, j'en ai un besoin ponctuel. Je ne m'y connais d'ailleurs en aucune sorte de code de programmation... 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 (C4: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". Fichier: http://cjoint.com/?0HwpPPPUBbx Grossièrement, Copier 'Pivot Central'!C4:C36Coller via Collage Spécial (Valeurs + mise en forme) dansWorksheet = 'Pivot Central'!B4Range = Rechercherh(C4;'Sheet ciblée'!B10:X10;1) et coller à cet emplacement. Comme vous pouvez le constater je n'ai aucune notions en VBA mais cette requête ne semble pas complexe pour quiconque à une connaissance du sujet. Merci d'avance Modifié le 23 août 201410 a par Chloroplaste
Posté(e) le 23 août 201410 a Ca ne me semble pas insurmontable. Questions : Comment doit se déclencher la macro ? Car je suppose que l'onglet pivot change (sous quelle impulsion) et qu'alors seulement on doit déclencher la macro, non ? Le tableau de l'onglet pivot a toujours la même longueur ? Quel délai pour la réalisation ? (Je n'ai pas trop le temps tout de suite et ne pratiquant pas le vba régulièrement, il me faudrait du temps sauf si quelqu'un d'autre s'en charge évidemment) Modifié le 23 août 201410 a par RFN
Posté(e) le 23 août 201410 a Auteur La macro se déclenchera via un simple bouton. Aucune condition spécifique requise. La plage de cellule à copier C4:C36 restera identique. Je n'en ai pas besoin dans la journée mais d'ici la fin du mois serait bien. Merci à toi de t'intéresser à ma problématique.
Posté(e) le 25 août 201410 a http://cjoint.com/data3/3HzkAEpqULm.htm http://cjoint.com/data3/3Hzly21EW9o.htm Tiens moi au courant si cela réponds à tes attentes. EDIT : En téléchargeant le fichier joint, plus aucune macro n'apparait. EDIT 2 : La prochaine fois j'enregistrerai correctement mes fichiers .... Fait donc ALT+F11 et dans "ThisWorkBook" tu copie çà : 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 EDIT 3 : Mon code peux largement etre amélioré je pense, mais j'ai fait çà à la va vite ce matin, et je suis pas non plus un pro d'excel. En tout cas le principal c'est que çà marche : Modifié le 25 août 201410 a par Nitro-TecK
Posté(e) le 25 août 201410 a De rien. Attention tout de même. Il n'y a pas de garde fou dans la macro. C'est à dire que si tu rentres une date incorrect ou alors un nom inexistant cela risque de merder. Modifié le 25 août 201410 a par Nitro-TecK
Posté(e) le 25 août 201410 a Merci car je n'avais pas trop le temps de m'y remettre. C'est très long, c'est juste le temps de se replonger dans la demande. On peut regarder pour des amélio par la suite
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.