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 en valeur sous VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Copier coller en valeur sous VBA
    Bonjour,

    Je n'arrive pas à enregistrer une ligne sur un onglet autre.
    Enfin tout fonctionne sauf dans trois possibilités (à chaque fois des calculs interviennent et la formule est copiée).
    J'ai essaye de modifier ma macro avec .value mais je ne m'en sors pas.

    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
    Sub test()
     
     Sheets("Enregistrement").Activate
     Range("A4:S4").Select
     
     If ActiveCell = "" Then
     
     Sheets("Enregistrement").Range("A4:S4").Value = Sheets("Calcul_TVA").Range("A11:Q11").Value
     Sheets("Calcul_TVA").Select
     MsgBox ("La note de frais a correctement été enregistrée")
     
     Else
     
     Sheets("Calcul_TVA").Range("A11:Q11").Copy
     
     Do Until ActiveCell = ""
     
     ActiveCell.Offset(1, 0).Select
     Loop
     
     ActiveSheet.PasteSpecial
     Sheets("Calcul_TVA").Select
     MsgBox ("La note de frais a correctement été enregistrée")
     
     End If
     
     End Sub
    Toute aide est la bienvenue,
    Désole je sais que le sujet à déjà été abordé mais je n'y arrive toujours pas

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bonjour paul2306,

    Est-ce ceci que tu souhaites ?
    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
    Option Explicit
     
    Sub test()
    Dim oRng As Range
    Dim marange As Range
     
    With Worksheets("Enregistrement")
        Set marange = .Range("A4", .Cells(Rows.Count, 1))
        Set oRng = marange.Find("", After:=marange.Cells(marange.Cells.Count), LookIn:=xlValues, LookAt:=xlWhole)
     
        oRng.Resize(, 17).Value = Worksheets("Calcul_TVA").Range("A11:Q11").Value
     
        MsgBox ("La note de frais a correctement été enregistrée")
     
    End With
     
    End Sub
    Ici, je cherche la première cellule vide de la colonne A (à partir de A4) et je place les valeurs des cellules A11 à Q11 de la feuille "Calcul_TVA".

    N'hésite pas à revenir vers moi.

    Cordialement,
    Kimy

  3. #3
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 140
    Points : 9 975
    Points
    9 975
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    une idée

    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
    Sub test()
     
    Sheets("Calcul_TVA").Range("A11:Q11").Copy
     
    With Sheets("Enregistrement").Range("A4")
        If .Value = "" Then
            .PasteSpecial (xlPasteValues)
        Else
            While .Offset(0, i).Value <> ""
                i = i + 1
            Wend
            .Offset(0, i).PasteSpecial (xlPasteValues)
        End If
    End With
     
    MsgBox ("La note de frais a correctement été enregistrée")
     
    End Sub

Discussions similaires

  1. Problème de copier/coller de valeur VBA
    Par astridlet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2010, 12h31
  2. N'autoriser que le copier-coller par valeur sur un onglet
    Par LentilleLocale dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/11/2008, 23h46
  3. Copier coller niveau intermediaire en vba
    Par balthior dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/06/2007, 18h05
  4. [Access 2002] copier/coller dans un sous-form ?
    Par sun19 dans le forum Access
    Réponses: 10
    Dernier message: 17/01/2007, 17h50
  5. copier coller avec Pastespecial en VBA
    Par stormless dans le forum Général VBA
    Réponses: 1
    Dernier message: 06/11/2005, 12h59

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