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 ligne suite a une condition vers une autre feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 38
    Points : 19
    Points
    19
    Par défaut Copier ligne suite a une condition vers une autre feuille
    Bonjour a tous,

    je viens vers vous car je n'arrive pas a trouver le code pour copier la ligne vers une nouvelle feuille.
    Nous appelerons cette nouvelle feuille "MAJ".
    La feuille de reference est une variable du nom de "Response"


    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
    Dim ws As Worksheet
    Dim i As Long
        Set ws = Worksheets(Response)   'nom de la feuille où le contrôle doit se faire
        With ws
            i = 1      'Numéro de la première ligne à tester
     
            While .Range("L" & i).Value <> "" And .Range("M" & i).Value <> "" 
     
     ' condition pour les clients Factures M-2
     
     If .Range("L" & i).Value <> 0 Then
        .Rows(i).Interior.ColorIndex = 8    ' couleur interieur
          .Rows(i).Font.ColorIndex = 1      ' couleur du texte
          .Rows(i).Font.Bold = True         ' mise en gras de la police
           End If
        i = i + 1
            Wend
    je souhaiterai avoir en meme temps que la ligne se colore suite a condition, quel copie la ligne vers la nouvelle Feuille MAJ
    en ecriture literal cela donnerais :

    Si dans la colonne L la valeur de la cellule est differente de 0 alors Copie de la ligne vers la feuille MAJ.

    en esperant avoir été assez claire.

    Cordialement

    pex

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Tu étais assez proche
    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
    Dim Ws As Worksheet, Wd As Worksheet
    Dim i As Long, NewLig As Long
     
    Set Ws = Worksheets(Response)                    'nom de la feuille où le contrôle doit se faire
    Set Wd = Worksheets("MAJ")
    i = 1                                            'Numéro de la première ligne à tester
     
    With Ws
        While .Range("L" & i).Value <> "" And .Range("M" & i).Value <> ""
            ' condition pour les clients Factures M-2
            If .Range("L" & i).Value <> 0 Then
                NewLig = Wd.Cells(Wd.Rows.Count, 1).End(xlUp).Row + 1
                With .Rows(i)
                    .Interior.ColorIndex = 8         ' couleur interieur
                    .Font.ColorIndex = 1             ' couleur du texte
                    .Font.Bold = True                ' mise en gras de la police
                    .Copy Wd.Range("A" & NewLig)
                End With
            End If
            i = i + 1
        Wend
    End With

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    merci pour ton code je l'ai essayer mais pas mal d'erreur si glisse, il me prend les nom des colones et en fonction de mes differentes conditions reprends des lignes qu'il n'aurait pas besoin.

    j'ai mis en place un petit code qui boucle sur les couleurs de mes conditions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    im LigneRecap As Long
    Dim i As Long
     
      Sheets("visuel").Range("A2:AC65000").ClearContents ' effacement des tableau de base au cas ou mais pas utile dans notre cas
     
      LigneRecap = 1
     
      For i = 2 To [a65000].End(xlUp).Row ' ligne sur laquel boucle la recherche
     
        If Cells(i, 1).Interior.ColorIndex = 8 Then ' condition : si une ligne avec la couleurindex interieur 8 alors on copie cette ligne
          LigneRecap = LigneRecap + 1
          Cells(i, 1).Resize(1, 29).Copy Sheets("visuel").Cells(LigneRecap, 1)
        End If
    cela marche tres bien.

    merci de votre aide

    Cordialement
    pex

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Citation Envoyé par Pexou Voir le message
    merci pour ton code je l'ai essayer mais pas mal d'erreur si glisse, il me prend les nom des colones et en fonction de mes differentes conditions reprends des lignes qu'il n'aurait pas besoin.
    On aura plus de compréhension si tu écrivais clairement.

Discussions similaires

  1. [XL-2007] Copier ligne saisie par un formulaire vers une autre feuille selon le nomclient
    Par pasterlouis dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/06/2013, 21h36
  2. [VB.Net] Comment copier une DataRow d'une table vers une autre ?
    Par YLF dans le forum Accès aux données
    Réponses: 7
    Dernier message: 05/09/2012, 23h23
  3. Pb copier une valeur d'une textbox vers une cellule
    Par whykiki dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/12/2007, 11h49
  4. copier une table d'une bdd1 vers une bdd2
    Par passion_info dans le forum Bases de données
    Réponses: 3
    Dernier message: 30/10/2006, 18h57
  5. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39

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