Macro - Decallage de colonne

Nicolas -  
PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai une question j'ai essayé plusieurs choses pour arriver sur mes fins, mais rien n'a fonctionné.

J'ai un fichier avec deux onglets :
- L'onglet « record »
- L'onglet « sauvegarde »

L'onglet record c'est une liste de questions. L'onglet sauvegarde c'est là où je veux tout enregistrer (feuille protégée et masquée).

Quand je lance la macro pour la première fois je veux :
Copier toutes les données de O10 a O64 de la feuille « record » pour les coller sur la colonne O10 a O64 de la feuille « sauvegarde », puis supprimer toutes les données de O10 a O64 de la feuille « record ».

Quand je lance la macro pour les autres fois je veux :
Copier toutes les données de O10 a O64 de la feuille « record » pour les coller sur la première colonne vide après la colonne O (si on lance la macro pour la deuxieme fois ca sera P, pour la 10eme fois ça sera la colonne X...) tjrs de la feuille « sauvegarde », puis supprimer toutes les données de O10 a O64 de la feuille « record ».

Voici ce que j'ai code :

Sheets("sauvegarde").Select
ActiveSheet.Unprotect
Sheets("record").Select
Range("O10:O64").Select
Selection.Copy
Sheets("sauvegarde").Select
Range("O10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("sauvegarde").Select
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("record").Select

Pour le décalage de colonne je pensais passer par une cellule qui s'incrémente à chaque fois qu'on fait tourner la macro... bref je sais pas trop comment faire le decalage de colonne, quelqu'un sait m'aiguiller ? je veux réussir avec des conseil, ne me donner pas le code tout prêt svp ;)

(j'ai trouve ce lien mais rien ne fonctionnait avec : https://forums.commentcamarche.net/forum/affich-20678255-macro-excel-decalage-colonne-a-droite#q=Macro+decalage+de+colonne&cur=1&url=%2F)

Merci bcp !

Nico

1 réponse

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour
    Vous pouvez donner un nom à la cellule O10 par exemple: ANCRE1

    Sheets("sauvegarde").Select
    ActiveSheet.Unprotect
    Sheets("record").Select
    Range("O10:O64").Select
    Selection.Copy
    Sheets("sauvegarde").Select
    Application.Goto Reference:="ANCRE1"
    Selection.End(xlToRight).Select
    ActiveCell.Offset(0, 1).Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

    Sheets("sauvegarde").Select
    Application.CutCopyMode = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("record").Select
    ...
    Si les colonnes sont renseignées le curseur se déplace jusqu'à la dernière cellule et décale d'une cellule vers la droite
    0