Copier coller une plage de cellules dans une autre feuille [Résolu/Fermé]

Signaler
-
 Jo33 -
Bonjour,

Voici mon problème. Je souhaite pouvoir reporter les valeurs d'une plage de cellule sans la mise en forme des cellules. la plage ajoutée doit se reporter dans mon tableau en feuille 3 afin de constituer un historique de notation par semaine. Mon niveau en vba étant très faible comme vous pouvez le constater, je ne suis parvenu qu'à cibler la cellule d'où doit partir l'historique mais pas le report sur les semaines d'après sans effacer l'historique.

Quelqu'un aurait il la solution ?

Par avance merci

2 réponses

Bonjour

Voila la modife de la macro
Sub Reporter()
Col = Range("B2").Value + 9
   Range("O7:O12").Copy
Feuil2.Select
   Cells(4, Col).PasteSpecial xlPasteValues
   Application.CutCopyMode = False
   Application.Goto [A1], True
End Sub

A+
Maurice
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Merci ! ça fonctionne parfaitement bien !
Messages postés
12798
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
30 octobre 2020
2 050
Bonjour

Sans connaitre la structure de ton fichier pas possible de t'aider

Postes un exemple (allégé et anonymé si nécessaire ) de ton fichier sur cjoint.com, fais créer un lie, copies le et reviens le coller ici dans un prochain message

Cdlmnt
Via
Précision : le report en feuille reporting quadrimestriel doit se reporter dans la plage de cellule : J4:J9 en fonction du n°0 de semaine spécifié en feuille reporting hebdomadaire cellule B2

C'était peut être évident mais mieux vaut le préciser.
Messages postés
12798
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
30 octobre 2020
2 050 > Jo33
Re,

Modifie dans la macro la lige qui indique le report ainsi
Sheets("Reporting quadrimestriel").Range("I4").Offset(0, Sheets("Reporting hebdomadairel").Range("B2").Value ).Select

Si tu ne veux pas que les données puissent êre modifies il faut d'abord protéger la feuille quadrimestriel, puis dans la macro, avant la ligne précédente mettre ces lignes
If Sheets("Reporting quadrimestriel").Range("I4").Offset(0, Sheets("Reporting hebdomadairel").Range("B2").Value) <> "" Then Exit Sub
Sheets("Reporting quadrimestriel").Unprotect

La 1° vérifie que 1ere cellule de report est vide si ce n'est pas cas sortie
La 2° déprotège

Rajouter enfin ligne en fin de macro pour reprotéger
Sheets("Reporting quadrimestriel").Unprotect

Clmnt
Via
>
Messages postés
12798
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
30 octobre 2020

Merci pour l'aide cependant il subsiste une erreur dans la modification du offset que vous m'avez apporté. En effet, en activant le bouton, le message suivant apparaît : erreur d'éxecution '9' : l'indice n'appartient pas à la sélection.

ne s'agirait-il pas pas de la valeur B2 qui ne fait pas parti de du Range I4.

merci
Messages postés
12798
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
30 octobre 2020
2 050 > Jo33
Non B2est la cellule choix semaine dans hebdomadairel
Ce qu'il faut c'est reselectionner la feuille après la déproctection, donc après la ligne Sheets("Reporting quadrimestriel").Unprotect ajouter une ligne :
Sheets("Reporting quadrimestriel").Select
>
Messages postés
12798
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
30 octobre 2020

Pourriez vous me faire un copier coller de la formule complète que vous avez appliqué car le problème persiste. Même avec la solution, je n'y arrive pas... Je ne suis vraiment pas doué !