IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

copie sur une nouvelle feuille et la renommer


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2015
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Bonsoir

    ce code doit copier des données chaque mois dans une nouvelle feuille , mais manifestement il y a un soucis à la ligne 29
    D'autre part il y a t il possibilité de renommer la nouvelle feuille automatiquement ou par un userform ?
    Merci d avance pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Sub Sauvegarde_Mois()
    '
    '
    ' Sauvegarde des données du mois
    '
     
    '
        Range("H1:AA36").Select
        Selection.Copy
        Sheets.Add After:=Sheets(Sheets.Count)
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=False
        Sheets("Synthèse MLA").Select
        ActiveWindow.SmallScroll Down:=-21
        ActiveWindow.ScrollColumn = 17
        ActiveWindow.ScrollColumn = 16
        ActiveWindow.ScrollColumn = 15
        ActiveWindow.ScrollColumn = 14
        ActiveWindow.ScrollColumn = 13
        ActiveWindow.ScrollColumn = 12
        ActiveWindow.ScrollColumn = 11
        ActiveWindow.ScrollColumn = 10
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 7
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Feuil2").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        Sheets("Synthèse MLA").Select
        Range("H4:AA37").Select
        Selection.ClearContents
        ActiveWindow.ScrollColumn = 17
        ActiveWindow.ScrollColumn = 16
        ActiveWindow.ScrollColumn = 15
        ActiveWindow.ScrollColumn = 14
        ActiveWindow.ScrollColumn = 13
        ActiveWindow.ScrollColumn = 12
        ActiveWindow.ScrollColumn = 11
        ActiveWindow.ScrollColumn = 10
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.SmallScroll Down:=-27
        Sheets("Etat parc MLA").Select
        Range("A2").Select
     
        'réactive la protection de la feuille de synthèse
     
        ActiveSheet.Protect "BONSAI", True, True, True
     
    End Sub
    en faisant des test, je m aperçois qu il fait 2 copies en fait
    1 feuille ou il copie les valeurs et l autre feuille ou il copie le format !

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Pour récupérer les valeurs d'une feuille sur l'autre, la copie n'est pas nécessaire, il suffit d'attribuer les valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim Fe_Nouv As Worksheet
    Dim Fe As Worksheet
     
    Set Fe_Nouv = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    Set Fe = Worksheets("Feuil1") 'adapter le nom de la feuille (mais pas de ActiveSheet !)
     
    With Fe_Nouv
     
        .Range(.Cells(1, 1), .Cells(Fe.Range("H1:AA36").Rows.Count, Fe.Range("H1:AA36").Columns.Count)).Value = Fe.Range("H1:AA36").Value
        .Name = "Le nom que tu veux"
     
    End With
    Hervé.

  3. #3
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2015
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Bonsoir Hervé

    je vais tester merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transposer un tableau sur une nouvelle feuille
    Par saninx dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/07/2015, 18h38
  2. [XL-2003] Si nombre atteint, continu sur une nouvelle feuille
    Par dorko45 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2012, 21h53
  3. basculer des données sur une nouvelle feuille
    Par mary1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/05/2008, 11h47
  4. Copie d'une colonne de cellules sur une autre feuille
    Par maxou59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/12/2006, 10h06
  5. [excel] Pb de gestion de boutons sur une nouvelle feuille
    Par kenny49 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/08/2006, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo