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 qui ne fonctionne pas


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Copier Coller qui ne fonctionne pas
    Bonjour,
    J'ai un problème incompréhensible que je n'arrive pas à résoudre. J'ai un fichier excel, dans lequel j'utilise les macros pour copier des données sur une feuille et les coller dans une autre feuille. Tout fonctionne sauf le copier coller dans la colonne F et je n'arrive pas à trouver pourquoi.
    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sheets(FA).Select
    Range("C13").Select
    Selection.Copy
    Sheets("Gain DGOS").Select
    Range("F" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Et si une âme charitable passe par là je mets mon fichier en pièce jointe!

    Merci d'avance pour vos réponses!

    Banjo
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour maitrebanjo,

    Remplace peut-être Sheets(FA).Select par Sheets("FA").Select

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    J'ai essayer mais ça ne marche pas, ce qui est logique puisqu'il s'agit de ma feuille active ^^

    mais ce qui est fou c'est qu'avec le même code cela marche dans d'autre colonne...

  4. #4
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Chez moi ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
     
    Sheets("FA").[C13].Copy
    Sheets("Gain DGOS").Range("F" & num).PasteSpecial _
        Paste:=xlPasteValues, _
        Operation:=xlNone, _
        SkipBlanks:=False, _
        Transpose:=False
    Application.CutCopyMode = False
     
    End Sub
    Que vaut la variable num au moment du .PasteSpecial ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    ça à marché quand tu as modifier sur mon fichier!?

    Tiens je te mets le code entier:

    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
    Sub MacroTest()
    Application.ScreenUpdating = False
    num = Sheets("Gain DGOS").Range("A65536").End(xlUp).Row + 1
    FA = ActiveSheet.Name
     
        Range("C4").Select
        Selection.Copy
        Sheets("Gain DGOS").Select
        Range("A" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
     
    'C'est ici que ça ne marche pas !
    Sheets(FA).Select
     Range("C13").Select
        Selection.Copy
        Sheets("Gain DGOS").Select
        Range("F" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
     
    Sheets(FA).Select
     Range("G17").Select
        Selection.Copy
        Sheets("Gain DGOS").Select
        Range("G" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
     
    Sheets("Feuil1").Select
     Range("D1").Select
        Selection.Copy
        Sheets("Gain DGOS").Select
        Range("E" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
     
     
    Range("A1").Select
    Sheets(FA).Select
    Application.CutCopyMode = False
    End Sub

  6. #6
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    J'ai pas ouvert le fichier mais ton code marche j'en suis casi sur.

    As-tu des cellules fusionnées ? Des fois tu vas écrasser des valeurs déjà rentrées si c'est le cas.
    Va dans VBE et execute ton code en mode pas a pas (tu te mets sur ta macro et F8 pour executer une ligne, a nouveau F8 pour la suivante et ect ...)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    C'est bon j'ai trouvé! Apparement cela viendrais du trop grand nombre de select qui ferais que l'execution ralentisse et marche pas bien.

    Je suis donc passé sur ça:
    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 MacroTest()
    Dim O1 As Worksheet
    Dim O2 As Worksheet
    Dim G As Worksheet
     
    Application.ScreenUpdating = False
    Set O1 = Sheets("Feuil1")
    Set O2 = Sheets("Feuil2")
    Set G = Sheets("Gain DGOS")
    num = G.Range("A65536").End(xlUp).Row + 1
    O2.Range("C4").Copy
    G.Range("A" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
    O2.Range("C13").Copy
    G.Range("F" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
    O2.Range("G17").Copy
    G.Range("G" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
    O1.Range("D1").Copy
    G.Range("E" & num).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
    Application.CutCopyMode = False
    O2.Select
    Range("A1").Select
    Application.ScreenUpdating = False
    End Sub
    En tout cas merci beaucoup pour ta disponibilité et rapidité de réponse ^^

  8. #8
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    C'est à cause des selects sur des cellules fusionnées non ?

    Voilà une proposition de code :
    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
    Sub MacroTest()
        Application.ScreenUpdating = False
            Dim num&: num = Sheets("Gain DGOS").Range("A65536").End(xlUp).Row + 1
            Dim FA As Worksheet
            Set FA = ActiveSheet
     
            With FA
                .[C4].Copy
                Sheets("Gain DGOS").Range("A" & num).PasteSpecial _
                    Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
                .[C13].Copy
                Sheets("Gain DGOS").Range("F" & num).PasteSpecial _
                    Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
                .[G17].Copy
                Sheets("Gain DGOS").Range("G" & num).PasteSpecial _
                    Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            End With
     
            Sheets("Feuil1").[D1].Copy
            Sheets("Gain DGOS").Range("E" & num).PasteSpecial _
                Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
     
            Sheets("Gain DGOS").Select: Range("A1").Select
            FA.Select
     
            Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    EDIT : Fait attention à bien passer Application.ScreenUpdating à TRUE en fin de macro

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Ah oui merci ^^

    Par contre maintenant ça ne marche plus avec les cellules fusionnés... Je suppose que c'est une histoire de format. ya pas un moyen de ne prendre que le contenu?

    En fait non c'est avec une cellule que j'ai un probleme maintenant x)

    Probleme résolu ^^'

    Merci

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

Discussions similaires

  1. Copier coller qui ne marche pas d'un classeur à un autre
    Par longuy31 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/06/2010, 12h02
  2. [XL-2003] copier-coller qui ne fonctionne pas
    Par facteur dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2010, 16h34
  3. copier coller qui ne fonctionne pas
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/12/2009, 10h36
  4. [E-07] Copier/Coller qui ne marche pas
    Par bdx-77 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/12/2008, 07h00
  5. Coller qui ne fonctionne pas
    Par cynoq dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/12/2008, 08h31

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