Exporter une ligne vers une autre feuille.
Finit0
Messages postés
11
Statut
Membre
-
ccm81 Messages postés 11033 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.
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
-
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 -
-
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 -
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 ? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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) -
je fais les motifs et je te l'envoie apres si cela ne marche toujours pas .
-
http://cjoint.com/data3/3BvoHmbYSY8.htm
Cela ne marche toujours pas malheureusement
http://cjoint.com/data3/3BvoHmbYSY8.htm -
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 -
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