Copier_coller avec des cellules variables

Bonjour,

Je souhaiterais savoir si dans le code suivant, qui permet de copier coller la cellule A2 de la feuille courante de la cellule A1 Feuil2 :

Range("A2").Copy Worksheets("Feuil2").Range("A1")

Nous pouvions mettre des cellules qui varient, car le code suivant ne fonctionne pas mais je souhaiterais pouvoir réaliser cette automatisation :

Range(Cells(LigneX, ColonneY)).Copy Worksheets("Feuil2").Range(Cells(LigneZ, ColonneW))

D'avance merci.

Salut,

oui c'est possible de faire des copier coller en fonction de variable, mais la façon dont tu le fais rends difficile la compréhension.

Mets directement Cells(x, y) pour que ce soit plus lisible

Sub copier_coller()

Dim w, x, y, z As Long

y = 5
x = 5

w = 10
z = 8

Cells(x, y).Copy Worksheets("Feuil2").Cells(z, w)

End Sub

Bonjour,

Désolé pour la difficulté de compréhension, mais merci tu as bien compris ce que je voulais faire.

Merci

Je souhaiterai faire un collage spécial je rajoute Cells(x, y).Copy Worksheets("Feuil2").Cells(z, w).PasteSpecial ?

Salut,

oui, tu as juste à rajouter .PasteSpecial à la fin mais tu dois aller à la ligne entre copy et Worksheets

tu peux également aller voir sur https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.pastespecial pour les différentes caractéristique du pastespecial

Cells(x, y).Copy
Worksheets("Feuil2").Cells(z, w).PasteSpecial

Très bien, Merci :)

Je suis désoler, mais j'ai encore un problème... :/

J'ai un code qui fonctionne avec mon ficher Excel test mais qui ne fonctionne pas sur le fichier Excel "officiel". Si tu trouve la raison je suis preneur...

8test1.xlsm (24.76 Ko)

Salut, désolé de ma réponse tardive, j'ai été pas mal occupé.

Pour ton problème, c'est très simple. Dans ton programme tu actives la feuille "synthèse bureaux" et tu lui demandes ensuite de copier des données dans une autre feuille sans le dire. La macro copie donc les données présent dans la feuille "synthèse bureaux".

Pour corriger ça, tu as juste à mettre Sheets("Détail_Bureaux"). devant les cellules à copié.
Ton code donneras donc :

Sub Fonction_copier_coller()

Dim L1, C1 As Variant
Dim L2, C2 As Variant
Dim L3, C3 As Variant
Dim L4, C4 As Variant
Dim L5, C5 As Variant

Sheets("Détail_Bureaux").Activate

L1 = InputBox("Saisir le numéro de ligne qui correspond à : Nom du projet")
C1 = 2

Sheets("Synthèse bureaux CFO_CFA_CVC_PB").Activate

L2 = InputBox("Saisir le numéro de ligne du dernier projet")
L2 = L2 + 1
C2 = 2

Sheets("Détail_Bureaux").Cells(L1, C1).Copy
Worksheets("Synthèse bureaux CFO_CFA_CVC_PB").Cells(L2, C2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

L3 = L1 + 10
L4 = L1 + 11
L5 = L1 + 12

C3 = C2 + 1
C4 = C2 + 2
C5 = C2 + 3

Sheets("Détail_Bureaux").Cells(L3, C1).Copy
Worksheets("Synthèse bureaux CFO_CFA_CVC_PB").Cells(L2, C3).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
Sheets("Détail_Bureaux").Cells(L4, C1).Copy
Worksheets("Synthèse bureaux CFO_CFA_CVC_PB").Cells(L2, C4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
Sheets("Détail_Bureaux").Cells(L5, C1).Copy
Worksheets("Synthèse bureaux CFO_CFA_CVC_PB").Cells(L2, C5).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

End Sub

N'hésite pas à redemander si tu as d'autres problème.

Salut, non pas de soucis , merci surtout de m'aider^^ cela fonctionne merci, mais alors juste pour ma culture pourquoi sur le fichier Excel test1 il ne faut pas lui indiquer que l'on veut coller sur la Feuil2 il le fait "automatiquement" ? Mais vraiment merci :)

Pour moi, dans ton fichier test, t'as macro était dans la feuille 1, cela sous-entendais donc que les données à copiés sont dans la feuille 1 alors que dans ton fichier officiel, la macro était dans la feuille 2.

Très bien, merci !

Rechercher des sujets similaires à "copier coller variables"