couper - coller vers une autre feuille

  • Initiateur de la discussion Goodparts
  • Date de début
G

Goodparts

Guest
Bonjour le Forum,

Dans mon fichier, je voudrais pouvoir transférer de la feuille avec les données (suivis) vers la feuille historique.
En selectionant une seulle ligne, pas de problème, mais si j'en prends 2 ou 3 même séparée, il ne m'en transfère qu'une seule.

Qui pourrait m'aider.

Merci

Goodparts
 

Pièces jointes

  • Transfert.zip
    8.9 KB · Affichages: 20
  • Transfert.zip
    8.9 KB · Affichages: 22
  • Transfert.zip
    8.9 KB · Affichages: 17
B

Bernard

Guest
Bonjour Goodparts


J'ai modifié la macro transfert, en espérant avoir bien compris !

Cordialement

Bernard
 

Pièces jointes

  • Transfert.zip
    9.1 KB · Affichages: 33
  • Transfert.zip
    9.1 KB · Affichages: 35
  • Transfert.zip
    9.1 KB · Affichages: 37
M

Moa

Guest
Salut GoodParts et Bernard !

La macro de Bernard, qui a le mérite d'être hyper simple et claire, est bien.

En ce qui me concerne, j'ai voulu garder l'esprit de la macro de Goodparts, sans "Select" et faire autrement sans "Select".

Tel que :

Sub Transfert()
Dim i1 As Integer
Dim i2 As Integer
Application.ScreenUpdating = False

i1 = Sheets("Historique ").Range("A65535").End(xlUp).Row + 1
i2 = Sheets("Suivis").Range("A65535").End(xlUp).Row

Sheets("Historique ").Range("A" & i1 & ":N" & i1 + i2 - 2) = Sheets("Suivis").Range("A2" & ":N" & i2).Value

Sheets("Suivis").Range("A2" & ":N" & i2).ClearContents

Application.ScreenUpdating = True

End Sub

Le "-2", c'est parce que les deux tableaux commençant en A2, en faisant "i1 + i2", on avait deux lignes de trop dans la copie.

Car il faut rappeller que :

Sheets("Suivis").Range("A65535").End(xlUp).Row

Ramène le N° de la ligne de la feuille et non pas du tableau.

Bonne journée à vous deux !

@ +

Moa
 
B

Bernard

Guest
Bonjour Goodparts et Moa

Pour Moa, J'ai compris la continuité d'esprit dont tu as fais preuve dans la corection de la macro de Goodparts.

pour ma part, je ne m'étais pas posé la question !

A titre pédago, si je puis me permettre, j'ai concocté une autre façon de réaliser le copier/coller de la zone de saisie.

Sub Transferer()
Application.ScreenUpdating = False
Dim myRange As Range
Set myRange = Sheets("Suivis").Range("A2").CurrentRegion
myRange.Offset(1, 0).Resize(myRange.Rows.Count - 1).Copy
Sheets("Historique ").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
myRange.Offset(1, 0).Resize(myRange.Rows.Count - 1).ClearContents
Application.ScreenUpdating = True
End Sub

Cordialement à vous

bernard
 
B

Bernard

Guest
Bonsoir Moa

Heureusement que l'un et l'autre, on est là pour lire ce que fait l'autre.
S'il fallait attendre uniquement la réaction du questionneur on se lasserai vite d’attendre, comme hélas c’est trop souvent le cas ???

Pour ma part, ce n'est jamais du temps perdu que d'échanger avec les forumeurs qui donnent le meilleur d'eux même à l'ensemble sans se poser de question.

Bien à toi et longue vie au forum !


Bernard
 
G

Goodparts

Guest
Hello à tous,

Merci pour les réponses, mais ce n'est pas exactement ce que je cherchais à faire, copier et coller toutes les données en même temps, il n'y a aucun problème. Ce que je voudrais faire, c'est pouvoir sélectionner la ligne 4 et la ligne 6(ou autre...), que les données soient transférées dans l'autre onglet et la ligne entière supprimée.

Goodparts
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 333
Membres
103 519
dernier inscrit
Thomas_grc11