Macro pour copier un groupe de cellule à coller qqs lignes plus bas?

delarno30

XLDnaute Nouveau
Bonjour,
Je souhaite faire appel à une macro permettant de copier des cellules et de les coller plus bas (en gros pour recréer le meme tableau à compléter) tout en effacant le contenu de certaines.

Est-ce possible? Je pensais utiliser l'enregistrement pour prendre en compte mes mouvements, mais je souhaite que ça se fasse autant de fois qu'on appuis sur le bouton.

Merci pour votre aide.

Arnaud
 

delarno30

XLDnaute Nouveau
Re : Macro pour copier un groupe de cellule à coller qqs lignes plus bas?

Voici un fichier pour mieux comprendre.

J'ai fais mon enregistrement mais je ne sais pas comment modifier la cellule où coller le tableau.
Je pense que vous comprendrez, à présent.
 

Pièces jointes

  • Test macro.xlsm
    20 KB · Affichages: 61
  • Test macro.xlsm
    20 KB · Affichages: 66
  • Test macro.xlsm
    20 KB · Affichages: 69

job75

XLDnaute Barbatruc
Re : Macro pour copier un groupe de cellule à coller qqs lignes plus bas?

Bonjour,

Code:
Sub Copier_coller()
Dim derlig As Long, premlig As Long, tableau As Range
derlig = Cells(Rows.Count, "E").End(xlUp).Row
premlig = [H:H].Find("valeur*", , "H"), xlValues, , , xlPrevious).Row
Set tableau = Cells(premlig, "E").Resize(derlig - premlig + 1, 5)
tableau.Copy Cells(derlig + 4, "E")
'mise à jour
Cells(derlig + 4, "E").Resize(derlig - premlig).ClearContents
Cells(derlig + 4, "I") = "" 'ou = "VIDE" ???
End Sub
Edit : la recherche de "valeur" est la solution la plus simple.

A+
 

Pièces jointes

  • Test macro(1).xls
    42.5 KB · Affichages: 51
Dernière édition:

delarno30

XLDnaute Nouveau
Re : Macro pour copier un groupe de cellule à coller qqs lignes plus bas?

Merci JOB75,
C'est génial, c'est possible alors!? Le fichier que tu m'as joint fonctionne nickel.
Par contre lorsque je met la macro de ton fichier ou celui du message, dans mon tableau il y a une erreur '91' : Variable objet ou variable de bloc With non définie.
et lorsque je clic sur "debogage" il y a la ligne : premlig = [H:H].Find("valeur*", , xlValues, , , xlPrevious).Row qui est en surbrillance.
Comment ce faisse?
En sachant que j'ai modifier les noms des colonnes : E=O et I=Y

Je t'ai mis le bon tableau en pièce jointe sans les valeur confidentiel, bine sur.
Merci en tout cas pour ton aide.
Arnaud
 

Pièces jointes

  • test_macro avec le bon tableau.xlsm
    42.5 KB · Affichages: 168

job75

XLDnaute Barbatruc
Re : Macro pour copier un groupe de cellule à coller qqs lignes plus bas?

Bonjour delarno30,

Vous ne vous êtes pas donné beaucoup de mal pour comprendre et adapter la macro.

Question à 100 sous : quelle est exactement la plage du tableau que vous voulez copier ???

A+
 

delarno30

XLDnaute Nouveau
Re : Macro pour copier un groupe de cellule à coller qqs lignes plus bas?

Ben je souhaite copier la partie allant de O5 à Y34 et la copier à partir de O38.
J'ai bien regarder la macro, mais il est vrai que ne connaissant pas du tout le langage VBA, ca devient très vite du chinois pour moi.
Mais je pense qu'il est impossible de faire ce que je souhaite sans utiliser le VBA (mise à part la manip Edition copier puis effacer)
Lorsque je répondrai à mes appels d'offres j'ai facilements 60 types d'ouvrage donc ca me fera gagner un tant fou, et surtout evité de supprimer des formules ou autres.
 

job75

XLDnaute Barbatruc
Re : Macro pour copier un groupe de cellule à coller qqs lignes plus bas?

Re,

La macro adaptée :

Code:
Sub Copier_coller()
Dim derlig As Long, premlig As Long, tableau As Range
derlig = Cells(Rows.Count, "P").End(xlUp).Row
premlig = [O:P].Find("NOM DE L'OUVRAGE*", , xlValues, , , xlPrevious).Row
Set tableau = Cells(premlig, "O").Resize(derlig - premlig + 1, 11)
tableau.Copy Cells(derlig + 4, "O")
'mise à jour
Cells(derlig + 5, "P") = ""
Cells(derlig + 6, "V") = ""
Cells(derlig + 8, "Y") = ""
Cells(derlig + 9, "P").Resize(derlig - premlig - 7).ClearContents
Cells(derlig + 9, "R").Resize(derlig - premlig - 7).ClearContents
End Sub
Pour la 1ère copie, les cellules P39, V40, Y42, P43:p64, R43:R64 sont effacées.

Vous avez mis une Zone de liste déroulante (??) en W9, elle est aussi copiée...

"NOM DE L'OUVRAGE" est recherché sur 2 colonnes [O:p] car sa cellule est fusionnée.

A+
 

delarno30

XLDnaute Nouveau
Re : Macro pour copier un groupe de cellule à coller qqs lignes plus bas?

Ca fonctionne merci beaucoup!
J'ai enfin fini mon tableau.
Bonne continuation à tous, je note Résolu, mais je ne sais pas comment l'indiqué.
Au plaisir
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 301
Messages
2 087 029
Membres
103 436
dernier inscrit
PascalH