Exporter une ligne vers une autre feuille.

Finit0 Messages postés 11 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Voici mon problème, j'aimerai trouvai un moyen d'exporter une ligne complète vers une autre feuille.

Malheureusement je ne vous parle pas d'un simple copier coller. J'aimerai si possible quant j'inscris le mot "validation" dans une colonne que la ligne où le mot est inscrit soit transféré vers une autre feuille.

Par exmple :

Si "validation" en G2
Alors la ligne 2 aille à la feuille numéro 2 ranger sur la première ligne. et les suivantes aillent en dessous.

En espérant que j'ai pu exposer mon problème clairement...

Merci d'avance.

9 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re

    le même en commenté

    ' procedure activée des un changement dans la feuille 1
    ' target est la cellule (cible) qui a changé dans la feuille 1
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim li1 As Long, li2 As Long
    ' si la cible contient plusieurs cellules on arrete tout
    If Target.Count > 1 Then Exit Sub
    ' si la cible est dans la colnne G on continue
    If Not Intersect(Target, Range("G:G")) Is Nothing Then
      ' si la cible = "validation" on y va
      If Target.Value = "validation" Then
        ' li1 est la ligne de la cible (feuille 1)
        li1 = Target.Row
        ' li2 est la premiere ligne non vide de la feuille 2
        li2 = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1
        ' copie de la ligne li1 de la feuille 1 sur la ligne li2 de la feuille 2
        Sheets(1).Range("A" & li1).EntireRow.Copy Sheets(2).Range("A" & li2)
      End If
    End If
    End Sub

    RQ. si tu supprimes une "validation" dans la feuille 1, ça ne supprime pas la ligne en feuille 2 !!!

    bonne suite
    2
    1. Finit0 Messages postés 11 Statut Membre
       
      J'ai integrer le code à mon excel et cela marche parfaitement merci ! Une dernière chose peut-on faire disparaitre la ligne de la feuille 1 une fois qu'il y a écrit validation ? (comme une téléportation intégral de la ligne vers la feuille 2)
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    un essai avec ce que j'ai compris
    https://www.cjoint.com/?0BuqWWlnoHJ

    bonne suite
    0
    1. Finit0 Messages postés 11 Statut Membre
       
      C'est exactement que je souhaite ! Peux-tu m'expliqué en deux trio ligne comment tu as fait si possible ^^
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re

    juste avant le 1° end if tu ajoutes

    ' suppression de la ligne li1 de la feuille 1 
    Sheets(1).Rows(li1).Delete

    RQ1. tu testes sur une copie de ton classeur avant ....
    RQ2. si c'est fini, tu mets le pb à résolu

    bonne suite
    0
  4. Finit0 Messages postés 11 Statut Membre
     
    Alors j'ai un problème quant la ligne va sur l'autre feuille elle ne se met pas en dessous elle supprime la première ligne...

    Veux-tu que je t'envoi mon xls ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re,

    et avant la dernière modif?
    le code au cas où...
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim li1 As Long, li2 As Long
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("G:G")) Is Nothing Then
      If Target.Value = "validation" Then
        Application.ScreenUpdating = False
        li1 = Target.Row
        li2 = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1
        Sheets(1).Range("A" & li1).EntireRow.Copy Sheets(2).Range("A" & li2)
        Sheets(1).Rows(li1).Delete
        Application.ScreenUpdating = True
      End If
    End If
    End Sub

    si ça ne marche toujours pas, envoies ton xls (format excel 2003)
    0
  7. Finit0 Messages postés 11 Statut Membre
     
    je fais les motifs et je te l'envoie apres si cela ne marche toujours pas .
    0
  8. Finit0 Messages postés 11 Statut Membre
     
    http://cjoint.com/data3/3BvoHmbYSY8.htm

    Cela ne marche toujours pas malheureusement

    http://cjoint.com/data3/3BvoHmbYSY8.htm
    0
  9. Finit0 Messages postés 11 Statut Membre
     
    J'ai mis le dernier code sur un autre xls. Pas sur celui que je t'ai envoyé mais sa ne marche pas ^^

    Merci beaucoup
    0
  10. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re

    1. la feuille de destination est la feuille 2
    2. dans la feuille 1, la colonne où on écrit "validation" est J
    3. la colonne A de la feuille 1 (client) doit être renseignée
    https://www.cjoint.com/?0Bvpe5YlzGL
    0