Coller dans une cellule variable

Bonjour/soir à vous !

Si l'un de vous peut m'aider, je lui offre des chocolats !! ...les temps sont durs, je n'ai que ça à proposer désolé ^^

Voilà le problème :

  • Mon fichier excel comprend deux feuillets
  • Le Feuillet1 contient des données sur une range fixe, à savoir (C7:BT35)
  • Le feuillet2 doit recevoir ces données sur une range variable
  • La cellule A1 feuillet1 indique la cellule où coller les données (dans le feuillet2).

Exemple:

Si en A1 feuillet1 est inscrit : A700; alors copie de (C7:BT35) du feuillet1 puis collage de cette sélection en A700 Feuillet2

Étant à peine à l'étape du déchiffrage du langage VBA...je bloque complétement.

Bonjour,

voulez-vous copier tout, ou seulement les valeurs ?

Hello SabV !

il s'agira d'un collage spécial en valeur

Bonjour,

ok,

Sub Copy_valeur()
Dim sh1, sh2, plg As Range, debR As Long, debC As Integer, dest As String
Set sh1 = Sheets("Feuil1")
Set sh2 = Sheets("Feuil2")
Set plg = Range("C7:BT35")
debR = sh1.Range(sh1.[A1]).Row
debC = sh1.Range(sh1.[A1]).Column
dest = Range(Cells(debR, 1), Cells(debR + plg.Rows.Count - 1, debC + plg.Columns.Count - 1)).Address
sh2.Range(dest).Value = sh1.Range(plg.Address).Value
End Sub

Bonjour,

Un exemple pour le principe.

Cdlt.

41uman.xlsm (34.48 Ko)

Bon...j'ai pas encore tout compris mais ça fonctionne nickel !

C'est bête mais moi je m'émerveille devant ce genre de truc. Bravo à vous et merci.

Je vais retourner le code dans tous les sens et tenter de l'adapter sur d'autres projets.

Sinon...les chocolats, vous préférez suisse ou belge ?

Sinon...les chocolats, vous préférez suisse ou belge ?

les deux avec en accompagnement des cahouettes

...pour mériter mon surplus en cahouettes

Sub Copy_valeur()
Dim sh1, sh2, plg As Range, debR As Long, debC As Integer, dest As String
Set sh1 = Sheets("Feuil1") 'défénir la feuille
Set sh2 = Sheets("Feuil2") 'défénir la feuille
Set plg = Range("C7:BT35") 'défénir la plage à copier
debR = sh1.Range(sh1.[A1]).Row 'numéro de ligne de la valeur A1
debC = sh1.Range(sh1.[A1]).Column  'numéro de colonne de la valeur A1

'debR = 700  --> ligne de (A700)
'debC = 1  --> colonne de(A700)
'plg.Rows.Count = "C7:BT35" donc  29 lignes
'plg.Columns.Count = "C7:BT35" donc  70 colonnes
'la première cellule de la destination est connu (A700)
'la derniere cellule est calculée:
'ligne = 700 + 29 -1 = 728
'colonne = 1 + 70 -1 = 70  (BR)

dest = Range(Cells(debR, 1), Cells(debR + plg.Rows.Count - 1, debC + plg.Columns.Count - 1)).Address
sh2.Range(dest).Value = sh1.Range(plg.Address).Value
End Sub
Rechercher des sujets similaires à "coller variable"