Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

bobylaroche

XLDnaute Occasionnel
Amis sauveteurs, bonjour,

Une colonne en "feuil1" est copiée en "feuil2" lorsque je clique sur le bouton "copié décalé".
Pas compliqué jusque là. Le souci est que pour chaque nouveau clic je souhaite effectuer
une nouvelle copie mais en décalant la destination d'une colonne vers la droite.

Je sais comment procéder sans boucle mais le code fait des kilometres et n'est pas joli.

Certainement que la solution est en range ou cell mais j'ai essayé de plusieurs façons et je m'emmele les cellules.

Pour résumer.
Au premier clic, copie en colonne F5 de la feuille2
Au deuxieme clic, copie en G5 de la feuille 2
Au troisieme clic, copie en H5 de la feuille 2
Etc...jusqu'a 60 copies maxi.

Fichier fourni en piece jointe.

Merci d'avance,
 

Pièces jointes

  • copiedecale.xlsm
    14.7 KB · Affichages: 30
  • copiedecale.xlsm
    14.7 KB · Affichages: 28
  • copiedecale.xlsm
    14.7 KB · Affichages: 33

bobylaroche

XLDnaute Occasionnel
Re : Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

Salut BrunoM45,

C'est normal, rien d'interessant qui soit fonctionnel.
Je l'ai donc supprimer pour ne pas polluer le fichier qui est juste là pour visualiser ce que
je cherche à faire. Autrement, tu aurais eu une succession de :

Sub copiedecaler()
'
' copiedecaler Macro
''
Range("B4:B30").Select
Selection.Copy
Sheets("Feuil2").Select
Range("F3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Pas terrible :(
 

camarchepas

XLDnaute Barbatruc
Re : Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

Bonjour Bruno, Baby ,

une solution , il suffit ensuite de jumeler la macro avec le bouton
Attention , sur feuille 1 prévu pour copier à partir de la 4 eme ligne jusque la dernière
sur feuille 2 la copie ser en ligne 5

Mini correction sur l'aiguillage , voilà

Code:
Sub déplace()
Dim Fin As Long, Fin2 As String
 Fin = Sheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row
 If Sheets("Feuil2").Range("F5") = "" Then
   Sheets("Feuil1").Range("B4:B" & Fin).Copy Destination:=Sheets("Feuil2").Range("F5")
 Else
   Fin2 = Split(Sheets("Feuil2").Range("CZ5").End(xlToLeft).Offset(0, 1).Address, "$")(1)
   Sheets("Feuil1").Range("B4:B" & Fin).Copy Destination:=Sheets("Feuil2").Range(Fin2 & "5")
End If

End Sub
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

Salut camarchepas

Comme j'avais fait le code, je mets le fichier ;)

A+
 

Pièces jointes

  • bobylaroche_copiedecale.xlsm
    18.2 KB · Affichages: 26

bobylaroche

XLDnaute Occasionnel
Re : Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

Bonjour le magicien,

Merci, j'ai intégré ta macro mais les lapins restent au fond du chapeau ;)
Au premier clic, la copie se fait bien sur "feuil2" colonne F mais au second clic rien ne se fait aucune copie
en colonne G de "Feuil2". Y a oune truc !

j'ai ajouté le fichier avec ta macro.
 

Pièces jointes

  • copiedecale.xlsm
    21.4 KB · Affichages: 35
  • copiedecale.xlsm
    21.4 KB · Affichages: 29
  • copiedecale.xlsm
    21.4 KB · Affichages: 31

bobylaroche

XLDnaute Occasionnel
Re : Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

Bonsoir à vous,

Un truc auquel je n'avais pas pensé et qui semble costaud à résoudre !
Si je clique et que la colonne copiée est identique à la precedente, peut on annuler cette derniere copie
et attendre un nouveau clic ?

Exemple :
La derniere copie effectuée est en colonne G de "Feuil2"
Je clique sur le bouton pour une une nouvelle copie et il apparait que la colonne copiée devant aller en H
est identique à la dernière copie collée en colonne G. puis je annuler ce dernier clic ?

G = 01.10.12.14.15.22.18.05
H = 01.10.12.14.15.22.18.05
G et H sont identiques donc annulation de la copie.

Dur dur d'être un néophyte :(
 

camarchepas

XLDnaute Barbatruc
Re : Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

Et voilà ,

en espérant pas avoir été trop rapide ce coup là
 

Pièces jointes

  • decale_Annule.xlsm
    18.2 KB · Affichages: 20
  • decale_Annule.xlsm
    18.2 KB · Affichages: 23
  • decale_Annule.xlsm
    18.2 KB · Affichages: 18

bobylaroche

XLDnaute Occasionnel
Re : Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

Dingue la réactivité, merci.

En fait, j'ai du mal m'exprimer.
J'aimerai que l'annulation se fasse automatiquement avec une "routine" de vérification car impossible de faire
cela de visu lorsque j'ai plus de 100 cellules dans la colonne à copier. "routine" un restant de Quick Basic :)

Merci bien.
 

camarchepas

XLDnaute Barbatruc
Re : Copier une colonne et décaler la colonne de reception a chaque nouvelle copie

Oui encore trop vite , y'a un truc dans le chapeau
 

Pièces jointes

  • decale_Annule.xlsm
    18.6 KB · Affichages: 50
  • decale_Annule.xlsm
    18.6 KB · Affichages: 51
  • decale_Annule.xlsm
    18.6 KB · Affichages: 46

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 008
Membres
101 864
dernier inscrit
elrecruiter