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 :

[VBA-E] Copier coller sous conditions de couleur


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut [VBA-E] Copier coller sous conditions de couleur
    re Bonjour

    je cherche a crée une macro qui sous une condition de couleur d'une cellule me copierais LA LIGNE ENTIERE dans une autre feuille que je crée au debut...

    Le simple fais de copier ne fonctionne pas ( ça s'arrete pile a la ligne ou il y a de la couleur...)

    Quelqu'un pourrait il m'aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub envoiesurlautrefeuille()
    Worksheets.Add
    Worksheets(2).Activate
     
    Dim VARO As Integer
    lignefin = Worksheets(2).Cells(65535, 1).End(xlUp).Row
    For VARO = 1 To lignefin
    If Cells(VARO, 13).Interior.ColorIndex = 3 Then
    Range("VARO:VARO").Copy
     
    End If
    Next
    End Sub

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    salut
    essaye comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim VARO As Integer
    lignefin = Worksheets(1).Cells(65535, 1).End(xlUp).Row
    For VARO = 1 To lignefin
    MsgBox Cells(VARO, 1).Interior.ColorIndex
    If Cells(VARO, 13).Interior.ColorIndex = 3 Then
    Cells(VARO, 13).EntireRow.Copy
    End If
    Next

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Une explication au bon conseil d'alsimbad : Dans la ligne suivante, tu utilises "VARO:VARO" comme un string, le mot "VARO:VARO"
    Range("VARO:VARO").Copy
    et ici
    For VARO = 1 To lignefin
    comme une variable...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(VARO).EntireRow.Copy
    est une autre syntaxe si tu tiens à utiliser VARO...
    C'est toi qui vois

  4. #4
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Non ca ne marche pas
    mais je ne comprends pas bien ce que tu as fait a quoi sert cette msgbox ?
    et pourquoi la ligne fin est est worksheet 1 ?

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par titeZ
    Non ca ne marche pas
    Là, tu nous aides vraiment... Qu'est-ce qui ne marche pas ?
    Une erreur ? Laquelle ? Sur quelle ligne ?
    Enfin, comme tu copies et que tu ne colles pas, que veux-tu faire au juste ?

  6. #6
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    En faite...ca ne fonctionne pas ... mais c'est normale que ça ne fonctionne pas ( ca me mmets une erreur pour etre precise: ma msgbox apparait avec -4142)?????? et jdois faire ok (pour l'enlever le nombre ) autant de fois que j'ai de ligne en couleur....


    Je ne comprend absolument pas cette msg box ...

  7. #7
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    nON NON ca me met simplement une fois cette msg box avec -4142 et rien ne s'est passé

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Ce que voulait faire alsimbad, c'était afficher l'index, rien de plus. Supprime le msgbox et dis-nous ce qui se passe.
    Maintenant, tu copies toujour sans coller nulle part... C'est ça que j'aimerais bien comprendre et alsimbad sans doute aussi

  9. #9
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    l'index de quoi ?
    a pas compris là

    et je sais que je copie nulle pas c'est pour ça que j'ai dis

    "mais c'est normale que ça ne fonctionne pas "

    le probleme c'est que quand je colle
    ma ligne efface celle que j'ai precedemment inscrit ...

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    hello, on ne s'affole 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
    Dim VARO As Integer
    lignefin = Worksheets(1).Cells(65535, 1).End(xlUp).Row ici tu trouve la ligne de fin, si tu veux écrire en dessous, tu dois lui ajouter 1, c'est l'erreur que tu commet quand tu colle je suppose
    For VARO = 1 To lignefin
    MsgBox Cells(VARO, 1).Interior.ColorIndex ici, je ne connais pas tous les indexcolors par coeur, donc c'etait juste pour le connaitre, efface cette ligne
    If Cells(VARO, 13).Interior.ColorIndex = 3 Then
    Cells(VARO, 13).EntireRow.Copy; ici utilise le code de ouskel, c'est encore mieux 
    Rows(VARO).EntireRow.Copy
    End If Next

  11. #11
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    jamais affolé moi lol
    bon reprenons calmement

    En faite ce que je ne comprends pas c'est que pour moi la ligne fin c'est la derniere ligne de mon fichier ou il ya des données.... (celle que je dois analyser pour les copier eventuellement dans ma worksheet 2 ( worksheet qe je viens de créer)

    Toi, si je me trompe pas tu as changé ça et tu as appelé lignefin la derniere ligne de ma worksheet que je viens de creer( et qui est forcement =1....)

    C'est tt bete en faite mais je bloque...
    Dans ma worksheet 2j 'ai des cellules rouge
    je veux copier les lignes entieres les une a la suite des autres dans la worksheet (1) nouvellement créer ( par défaut quand on crée une feuille elle se place avant celle qui existait deja)

    Sinon ayé! j'ai compris pour la msgbox même si je sais pas pourquoi j'ai eu ce numero -4142...

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Ouf, nous y voilà
    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
    Sub envoiesurlautrefeuille()
    Dim F1 as worksheet
    Dim F2 as worksheet
    Dim VARO As long, i as long
    Set F2 = activesheet 'La feuille dont tu veux copier en couleur
    Worksheets.Add
    Set F1 = activesheet 'la feuille dans laquelle tu veux coller les couleurs ^^^
     
    lignefin = F2.Cells(65535, 1).End(xlUp).Row
       For VARO = 1 To lignefin
         If F2.Cells(VARO, 13).Interior.ColorIndex = 3 Then
              i = i + 1
              F2.Rows(VARO).EntireRow.Copy destination:=F1.Cells(i,1)
         End If
       Next
    End Sub
    Là, tu as une petite chance que ça fonctionne mieux... mais cépaçur
    Tu dis
    A+

  13. #13
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    siiiiiiiiiiiiiiiii césur ayéayé ca marche et en plus j'ai compris
    Merci boucouuuuuuuuuuuuu

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

Discussions similaires

  1. Copier/Coller sous condition
    Par carolinec21082014 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/08/2014, 23h41
  2. [XL-2007] Macro copier coller sous condition date
    Par isolf dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/07/2014, 18h32
  3. copier coller sous condition
    Par d.deneys dans le forum Macros et VBA Excel
    Réponses: 52
    Dernier message: 25/08/2013, 12h11
  4. [XL-2013] Aide Vba copier coller sous condition
    Par d.deneys dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 22/08/2013, 11h34
  5. [XL-2003] Copier coller sous condition
    Par Nathan87 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/03/2011, 11h20

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