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 :

Copier/coller des valeurs quand je sauvegarde [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 108
    Points : 74
    Points
    74
    Par défaut Copier/coller des valeurs quand je sauvegarde
    Bonjour à tous
    Voilà je souhaiterai au moment que je sauvegarde mon fichier EXCEL faire une copier/coller des valeurs de la colonne A:A ou j'ai des formules et coller les valeurs en colonne B:B.
    Ceci doit se faire que si je sauvegarde le fichier
    Merci
    Philippe

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Bonjour,

    Essaie ceci (à mettre dans module lié à ThisWorkbook)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
        Range("a:a").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
    Range("b1").Select
           Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End Sub

  3. #3
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Bonjour,

    Place ton code dans l'événement Before_Save de l'objet Workbook ça devrait répondre à ton besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     
    End Sub

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 108
    Points : 74
    Points
    74
    Par défaut Copier/coller des valeurs quand je sauvegarde
    Je n'y arrive pas j'ai plusieurs feuilles et celle qui m'intéresse s'appelle "Date de renseignement"
    En colonne A:A j'ai des formules qui me donne différente dates et ce que je souhaite c'est au moment de la sauvegarde Faire un copier de la colonne A:A et la coller les valeurs en colonne B:B
    Vous me dite de mettre le code dans "mettre dans module lié à ThisWorkbook" mais comment lié ce code à "ThisWorkbook" sans impacter les autres feuilles?
    Toute petite notion de VBA
    Merci

  5. #5
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Salut

    Quand tu es dans Microsoft VB, tu dble-cliques sur ThisWorkbook (se trouve dans "Microsoft Excel Objets"

    Tu cliques sur "Général" et tu choisis "Workbook" (partie gauche) et sur "BeforeSave" (partie droite)

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 108
    Points : 74
    Points
    74
    Par défaut Sauvegarde
    Merci mais je suppose que je dois ajouter au début du code cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Date de renseignement").Select
    afin de sélectionner la feuille qui m'interresse?
    Merci

  7. #7
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Oui

  8. #8
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut code simplifié
    Bonjour le Forum.

    Tous mes voeux à tous pour 2013.

    2 conseils
    - Evitons les méthodes "Select" qui ne servent à rien.
    - Eputons au maximum le code pour ne conserver que l'utile.

    En un mot, prenons de la distance par rapport à l'enregistreur.
    (à adapter)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim fin As Range
    Application.ScreenUpdating = False
    With Sheets("Date de renseignement")
            'Définition de la dernière cellule à copier
            Set fin = .Cells(.Rows.Count, 1).End(xlUp)
            'Copie de la plage ainsi définie
            .Range("A1", fin).Copy
            'Cellules de destination
            .Range("B1", .Cells(fin.Row, 2)).PasteSpecial Paste:=xlPasteValues
    End With
    Application.CutCopyMode = False
    'Variable réinitialisée
    Set fin = Nothing
    Enfin, pour ma part, je placerais ce code dans une procédure intégrée dans un module standard, et je l'appellerais depuis l'évènement Save.

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

Discussions similaires

  1. [XL-2010] Copier/coller des formules quand une cellule est renseignée
    Par lumpys dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/12/2014, 14h54
  2. [XL-2010] Copier-coller des valeurs d'une inputbox
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/07/2014, 12h43
  3. [XL-2007] Copier coller des valeurs
    Par polmic dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/02/2014, 14h34
  4. [XL-2010] Copier/Coller des valeurs d'un onglet a l'autre
    Par chuck95 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/02/2012, 18h52
  5. copier/coller des valeurs
    Par chouchouboy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/10/2010, 14h56

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