Dans Microsoft Excel, nous pouvons copier des cellules de la ligne de cellule active vers une feuille spécifique. Dans cet article, nous utiliserons le code VBA pour transférer les données de chaque feuille et fusionner les données en une seule feuille de calcul. Nous ajouterons une feuille principale dans le classeur et enregistrerons les données de la plage spécifiée dans une seule feuille.

_Les exemples de codes seront copiés dans une feuille de base de données avec le nom Sheet2.

Chaque fois que nous exécutons une macro, les cellules seront placées sous la dernière ligne avec des données après la dernière colonne de sheet2. Cette macro copiera les cellules de la colonne A, D de ActiveCell._

Voici l’image de l’échantillon de données:

image 1

Pour copier des cellules de la ligne de cellule active vers la feuille Sheet2; nous devons suivre les étapes ci-dessous pour lancer l’éditeur VB:

Cliquez sur l’onglet Développeur Dans le groupe Code, sélectionnez Visual Basic

image 2

===

  • Cliquez sur Insérer puis Module

image 3

Cela créera un nouveau module Entrez le code suivant dans le module standard

Sub CopyCells()

Dim sourceRange As Range

Dim destrange As Range

Dim Lr As Long

Lr = LastRow(Sheets("Sheet2")) + 1

Set sourceRange = Sheets("Sheet1").Cells( _

ActiveCell.Row, 1).Range("A1:D1")

Set destrange = Sheets("Sheet2").Range("A" & Lr)

sourceRange.Copy destrange

End Sub
Sub CopyCellsValues()

Dim sourceRange As Range

Dim destrange As Range

Dim Lr As Long

Lr = LastRow(Sheets("Sheet2")) + 1

Set sourceRange = Sheets("Sheet1").Cells( _

ActiveCell.Row, 1).Range("A1:D1")

With sourceRange

Set destrange = Sheets("Sheet2").Range("A" _

& Lr).Resize(.Rows.Count, .Columns.Count)

End With

destrange.Value = sourceRange.Value

End Sub
Function LastRow(sh As Worksheet)

On Error Resume Next

LastRow = sh.Cells.Find(What:="*", _

After:=sh.Range("A1"), _

Lookat:=xlPart, _

LookIn:=xlFormulas, _

SearchOrder:=xlByRows, _

SearchDirection:=xlPrevious, _

MatchCase:=False).Row

On Error GoTo 0

End Function
Function Lastcol(sh As Worksheet)

On Error Resume Next

Lastcol = sh.Cells.Find(What:="*", _

After:=sh.Range("A1"), _

Lookat:=xlPart, _

LookIn:=xlFormulas, _

SearchOrder:=xlByColumns, _

SearchDirection:=xlPrevious, _

MatchCase:=False).Column

On Error GoTo 0

End Function

image 4

image 5

===

Pour vérifier le code VBA ci-dessus; ajouter des données dans la plage «A1: D1» et puis exécuter la macro en appuyant sur la touche de raccourci F5 Les données stockées dans la plage spécifiée seront copiées dans «Sheet2» à partir de A1

image 6

  • Si nous exécutons à nouveau cette macro; les données seront enregistrées dans la ligne suivante; voir ci-dessous l’image:

image 7

Nous pouvons changer la plage dans la macro ci-dessus qui convient à notre exigence Conclusion: * Avec la macro ci-dessus, nous pouvons copier des cellules de la ligne de cellule active vers une nouvelle feuille en utilisant le code VBA.

image 48

Si vous avez aimé nos blogs, partagez-les avec vos amis sur Facebook. Et vous pouvez aussi nous suivre sur Twitter et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]