Copier des cellules d'une feuille à une autre VBA
Résolu
HEMIYELY
Messages postés
71
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je vous présente mon problème.
Je souhaite copier des cellules d'une feuille à une autre avec le code suivant :
Sub UpdateRealProduc()
'1. Copy data
Worksheets("Quick Update").Range("C15:F20").Copy
'2. Paste data
Worksheets("Farm ID").Range("D102:G107").PasteSpecial
End Sub
Ce code fonctionne.
Seulement mon problème est que je veux supprimer ou ajouter des lignes dans la feuille ou les cellules sont coller (dans la feuille "FarmID"). Comment mes données peuvent être copier au bon endroit si j'ajoute des lignes ?
Merci d'avance pour votre réponse.
Je vous présente mon problème.
Je souhaite copier des cellules d'une feuille à une autre avec le code suivant :
Sub UpdateRealProduc()
'1. Copy data
Worksheets("Quick Update").Range("C15:F20").Copy
'2. Paste data
Worksheets("Farm ID").Range("D102:G107").PasteSpecial
End Sub
Ce code fonctionne.
Seulement mon problème est que je veux supprimer ou ajouter des lignes dans la feuille ou les cellules sont coller (dans la feuille "FarmID"). Comment mes données peuvent être copier au bon endroit si j'ajoute des lignes ?
Merci d'avance pour votre réponse.
3 réponses
-
Bonjour,
Rechercher un mot qui ne change pas dans une ligne
Voir ceci pour faire une recherche dans une colonne:
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
Ensuite quand tu te serviras de cet exemple, pour trouver le numéro de ligne c'est :
Trouve.Row
au lieu de
Trouve.Address
ensuite en ayant cette ligne il suffit d'ajouter ou de diminuer tes lignes dans ton code
-
Bonjour
il faut récupérer la dernière ligne non vide colonne D de la feuille but et coller la copie à la ligne suivanteSub UpdateRealProduc() Dim derli As Long ' dernière ligne non vide colonne D feuille "Farm ID" derli = Sheets("Farm ID").Range("D" & Rows.Count).End(xlUp).Row ' Copy data feuille "Quick Update""C15:F20" > feuille "Farm ID" "D & derli+1 Sheets("Quick Update").Range("C15:F20").Copy Sheets("Farm ID").Range("D" & derli) End Sub
Cdlmnt -
Bonjour à tous
Tu nommes D102:G107 "cible" (par exemple) en enlevant les dollars devant les numéros de lignes
=FarmId!$D102:$G107
et tu modifies ton code
2. Paste data
Worksheets("Farm ID").Range("cible").PasteSpecial
Apropos
Pourquoi "pastespecial" ?