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 :

boucle conservation de mise en forme [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 30
    Points : 22
    Points
    22
    Par défaut boucle conservation de mise en forme
    Bonjour,

    Voila, j'ai un soucis.

    J'utilise une boucle pour recopier des données de la feuil 2 de mon fichier joint, en feuil 1. (code dans le module 1)

    Le seul problème c'est que j'aimerais conserver la couleur de remplissage des cellules de la feuil 2 en feuil 1.

    Comment puis-je faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
     
    'Boucle recopier les cellules en conservant la mise en forme
     
    For i = 1 To Sheets("Feuil2").Range("a65536").End(xlUp).Row
        For j = 1 To 4
        'comment conserver le surlignage des cellules de la feuil 2 en feuil 1 ????
        Sheets("feuil1").Cells(i, j) = Sheets("feuil2").Cells(i, j)
        Next j
    Next i
     
    End Sub
    merci de votre aide.

    Cordialement.

    Julien.

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
     
    'Boucle recopier les cellules en conservant la mise en forme
     
    For i = 1 To Sheets("Feuil2").Range("a65536").End(xlUp).Row
        For j = 1 To 4
        'comment conserver le surlignage des cellules de la feuil 2 en feuil 1 ????
        Sheets("feuil1").Cells(i, j) = Sheets("feuil2").Cells(i, j)
    Sheets("feuil1").Cells(i, j).interior.color = Sheets("feuil2").Cells(i, j).interior.color
        Next j
    Next i
     
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 86
    Points : 56
    Points
    56
    Par défaut
    holà,

    je ne suis pas un expert, mais essaie peut-être de faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(1).Cells( i, j).Interior.Color = Sheets(2).Cells( i, j).Interior.Color
    Edit : trop tard ahah

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    Utilises une autre syntaxe et tu n'as pas besoin d'usine à gaz

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil2").Cells(I, J).Copy Destination:=Sheets("Feuil1").Cells(I, J)
    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    En conservant tous les attribut de la cellule source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
        Application.CutCopyMode = False
        Sheets("Feuil1").Cells(1, 1).Copy
        Sheets("Feuil2").Paste (Sheets("Feuil2").Cells(1, 1))
    End Sub

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Merci à tous pour vos réponse.

    Je ne veux pas utiliser de copier coller car je vais avoir beaucoup de ligne et de colonne dans ce cas, et cela sera trop lent.

    Pour le code : .interior.color

    Ca fonctionne mais je n'ai plus le texte avec ??

    Comment peut-on faire ?

    Cordialement.

    Julien.

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Comme en #2

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    yes j'avais pas vu.

    merci c'est impec !!!

    Julien

  9. #9
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Citation Envoyé par jul2012 Voir le message
    Merci à tous pour vos réponse.

    Je ne veux pas utiliser de copier coller car je vais avoir beaucoup de ligne et de colonne dans ce cas, et cela sera trop lent.

    Pour le code : .interior.color

    Ca fonctionne mais je n'ai plus le texte avec ??

    Comment peut-on faire ?

    Cordialement.

    Julien.
    Si c'est du temps que tu veux gagner (ce qui n'est pas abordé dans ton post d'origine) et si ton code est le bon, tu as intérêt à ne pas employer de boucles (chronophages), mais à manier ta plage en entier genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(1).Range("A1:D65536").Copy Destination:=Sheets(2).Range("A1")
    conserve les mises en forme et va 15 fois plus vite sur 380000 lignes de test....

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/06/2009, 22h22
  2. Réponses: 6
    Dernier message: 05/05/2007, 11h12
  3. Coller en conservant la mise en forme ligne/colonne
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/04/2007, 12h52
  4. Réponses: 3
    Dernier message: 29/05/2006, 20h29
  5. Macro Excel: enreg d1 cellule en conservant le mise en forme
    Par repié dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/12/2005, 15h48

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