Transert de lignes d'une feuille vers une autre feuille par macro
13 réponses
JJ
Bonjour,
j'ai les idées mais pas le savoir faire. Excel 2007
Feuille "journal" contient un tableau de 6 lignes. avec les colonne date, N°
de compte, intitulé(recherchev), Dt, Ct libellé. En fonction du N° de cpte je
veux copier coller sur la première ligne vierge de la feuille correspondante.
J'ai ainsi une trentaine de compte. Une feuille par compte.
Actuellement la macro me fait toujours un copier coller sur la première
ligne vierge mais du dernier compte.
Au secours et merci.
--
JJ
http://cjoint.com/?itu5BagsWv je vais finir par y arriver est-ce bon?-- JJ
j'essaie à nouveau http://cjoint.com/?ituPIdgoGr -- JJ
Ben....Non As-tu suivi les indications ??????
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
http://cjoint.com/?ittO3r731D -- est-ce bon? JJ
Re...
Le classeur est parti Mais pas arrivé ;o))
Fonctionnement de Cjoint:
-Ciquer sur parcourir -Selectionner le fichier à joindre -Clique sur "Céer le lien Cjoint " (le lien est automatiquement copier) -Retour sur le message du forum et coller (Ctrl+V)
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
Bonsoir, Le classeur est parti j'espère ne pas m'être trompé les données viennent en dessous des précédentes merci d'avance -- JJ
Re.... Les données doivent elles remplacer ou se coller à la suite des autres?? Il est très difficile de comprendre l'organisation des feuilles, peux-tu mettre un exemple de ton fichier sur: http://www.cjoint.com/
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
Bonjour, une ligne a été oubliée dans la première copie. Merci beaucoup.
Sub transfert() ' ' transfert Macro '
'
Sheets("journal").Select If Range("compte1").Value = 30 Then Range("ligne1").Select Selection.Copy Sheets("vir").Select If Range("c11").Value <> "" Then Range("c10").End(xlDown).Select ActiveCell.Offset(1, 0).Select ActiveSheet.Paste Sheets("journal").Select ( A ETE OUBLIE DANS LA PREMIERE COPIE) If Range("compte1").Value = 41 Then Range("ligne1").Select Selection.Copy Sheets("enfants").Select If Range("c11").Value <> "" Then Range("c10").End(xlDown).Select ActiveCell.Offset(1, 0).Select ActiveSheet.Paste
End Sub
30 ou 41 sont les cellules appelées "compte"-- JJ
Bonsoir,
Peux-tu éditer la macro ici STP
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
Bonjour, j'ai les idées mais pas le savoir faire. Excel 2007 Feuille "journal" contient un tableau de 6 lignes. avec les colonne date, N° de compte, intitulé(recherchev), Dt, Ct libellé. En fonction du N° de cpte je veux copier coller sur la première ligne vierge de la feuille correspondante. J'ai ainsi une trentaine de compte. Une feuille par compte. Actuellement la macro me fait toujours un copier coller sur la première ligne vierge mais du dernier compte. Au secours et merci. -- JJ
http://cjoint.com/?itu5BagsWv
je vais finir par y arriver est-ce bon?--
JJ
j'essaie à nouveau
http://cjoint.com/?ituPIdgoGr
--
JJ
Ben....Non
As-tu suivi les indications ??????
--
Salutations
JJ
"JJ" <jean-jacques.débutant@au-secours.com> a écrit dans le message de news:
BF054C6E-83B7-4801-A5F0-25ADC98A3EF8@microsoft.com...
http://cjoint.com/?ittO3r731D
--
est-ce bon?
JJ
Re...
Le classeur est parti
Mais pas arrivé ;o))
Fonctionnement de Cjoint:
-Ciquer sur parcourir
-Selectionner le fichier à joindre
-Clique sur "Céer le lien Cjoint " (le lien est automatiquement copier)
-Retour sur le message du forum et coller (Ctrl+V)
--
Salutations
JJ
"JJ" <jean-jacques.débutant@au-secours.com> a écrit dans le message de
news:
F1D1F93D-0F6A-4839-B118-FBCCAA9C249F@microsoft.com...
Bonsoir,
Le classeur est parti j'espère ne pas m'être trompé
les données viennent en dessous des précédentes
merci d'avance
--
JJ
Re....
Les données doivent elles remplacer ou se coller à la suite des
autres??
Il est très difficile de comprendre l'organisation des feuilles,
peux-tu
mettre un exemple de ton fichier sur:
http://www.cjoint.com/
--
Salutations
JJ
"JJ" <jean-jacques.débutant@au-secours.com> a écrit dans le message de
news:
7C75DF57-8ECA-44E7-8E77-62318A25CBA5@microsoft.com...
Bonjour,
une ligne a été oubliée dans la première copie. Merci beaucoup.
Sub transfert()
'
' transfert Macro
'
'
Sheets("journal").Select
If Range("compte1").Value = 30 Then Range("ligne1").Select
Selection.Copy
Sheets("vir").Select
If Range("c11").Value <> "" Then Range("c10").End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Sheets("journal").Select ( A ETE OUBLIE DANS LA PREMIERE COPIE)
If Range("compte1").Value = 41 Then Range("ligne1").Select
Selection.Copy
Sheets("enfants").Select
If Range("c11").Value <> "" Then Range("c10").End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
End Sub
30 ou 41 sont les cellules appelées "compte"--
JJ
Bonsoir,
Peux-tu éditer la macro ici
STP
--
Salutations
JJ
"JJ" <jean-jacques.débutant@au-secours.com> a écrit dans le message
de
news:
F469DBC4-7EAB-4064-B5A1-792DDF2299BF@microsoft.com...
Bonjour,
j'ai les idées mais pas le savoir faire. Excel 2007
Feuille "journal" contient un tableau de 6 lignes. avec les
colonne
date,
N°
de compte, intitulé(recherchev), Dt, Ct libellé. En fonction du
N°
de
cpte
je
veux copier coller sur la première ligne vierge de la feuille
correspondante.
J'ai ainsi une trentaine de compte. Une feuille par compte.
Actuellement la macro me fait toujours un copier coller sur la
première
ligne vierge mais du dernier compte.
Au secours et merci.
--
JJ
http://cjoint.com/?itu5BagsWv je vais finir par y arriver est-ce bon?-- JJ
j'essaie à nouveau http://cjoint.com/?ituPIdgoGr -- JJ
Ben....Non As-tu suivi les indications ??????
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
http://cjoint.com/?ittO3r731D -- est-ce bon? JJ
Re...
Le classeur est parti Mais pas arrivé ;o))
Fonctionnement de Cjoint:
-Ciquer sur parcourir -Selectionner le fichier à joindre -Clique sur "Céer le lien Cjoint " (le lien est automatiquement copier) -Retour sur le message du forum et coller (Ctrl+V)
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
Bonsoir, Le classeur est parti j'espère ne pas m'être trompé les données viennent en dessous des précédentes merci d'avance -- JJ
Re.... Les données doivent elles remplacer ou se coller à la suite des autres?? Il est très difficile de comprendre l'organisation des feuilles, peux-tu mettre un exemple de ton fichier sur: http://www.cjoint.com/
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
Bonjour, une ligne a été oubliée dans la première copie. Merci beaucoup.
Sub transfert() ' ' transfert Macro '
'
Sheets("journal").Select If Range("compte1").Value = 30 Then Range("ligne1").Select Selection.Copy Sheets("vir").Select If Range("c11").Value <> "" Then Range("c10").End(xlDown).Select ActiveCell.Offset(1, 0).Select ActiveSheet.Paste Sheets("journal").Select ( A ETE OUBLIE DANS LA PREMIERE COPIE) If Range("compte1").Value = 41 Then Range("ligne1").Select Selection.Copy Sheets("enfants").Select If Range("c11").Value <> "" Then Range("c10").End(xlDown).Select ActiveCell.Offset(1, 0).Select ActiveSheet.Paste
End Sub
30 ou 41 sont les cellules appelées "compte"-- JJ
Bonsoir,
Peux-tu éditer la macro ici STP
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
Bonjour, j'ai les idées mais pas le savoir faire. Excel 2007 Feuille "journal" contient un tableau de 6 lignes. avec les colonne date, N° de compte, intitulé(recherchev), Dt, Ct libellé. En fonction du N° de cpte je veux copier coller sur la première ligne vierge de la feuille correspondante. J'ai ainsi une trentaine de compte. Une feuille par compte. Actuellement la macro me fait toujours un copier coller sur la première ligne vierge mais du dernier compte. Au secours et merci. -- JJ
Jacky
Re... Je n'arrive pas à lire les fichiers envoyés.....:-(( Néanmoins, d'après ce que j'ai compris à ta demande, ceci transfert à partir d'une feuille "Journal" dans les différents compte C'est à adapter à tes besoins bien sur. '------------ Sub jj() debut = [b65000].End(3).Row If debut = 3 Then MsgBox "Aucune donnée à inscrire": Exit Sub For Each c In Range("b1:b" & debut) If c = 41 Then feuille = "enfants" '*****nom des différente feuilles***** If c = 30 Then feuille = "compte1" If c = 521 Then feuille = "compte2" If c = 522 Then feuille = "compte3" If c = 523 Then feuille = "compte4" If c = 524 Then feuille = "compte5" If feuille <> "" Then derlg = Sheets(feuille).[a65000].End(3).Row + 1 Rows(c.Row).Copy Sheets(feuille).Range("a" & derlg) End If feuille = "" Next End Sub '_________________________________________ Sub raz() [a4:f65000].ClearContents End Sub '------------------- exemple simple ici http://cjoint.com/?itwYQaweZS -- Salutations JJ
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
http://cjoint.com/?itu5BagsWv je vais finir par y arriver est-ce bon?-- JJ
Re...
Je n'arrive pas à lire les fichiers envoyés.....:-((
Néanmoins, d'après ce que j'ai compris à ta demande,
ceci transfert à partir d'une feuille "Journal" dans les différents compte
C'est à adapter à tes besoins bien sur.
'------------
Sub jj()
debut = [b65000].End(3).Row
If debut = 3 Then MsgBox "Aucune donnée à inscrire": Exit Sub
For Each c In Range("b1:b" & debut)
If c = 41 Then feuille = "enfants" '*****nom des différente feuilles*****
If c = 30 Then feuille = "compte1"
If c = 521 Then feuille = "compte2"
If c = 522 Then feuille = "compte3"
If c = 523 Then feuille = "compte4"
If c = 524 Then feuille = "compte5"
If feuille <> "" Then
derlg = Sheets(feuille).[a65000].End(3).Row + 1
Rows(c.Row).Copy Sheets(feuille).Range("a" & derlg)
End If
feuille = ""
Next
End Sub
'_________________________________________
Sub raz()
[a4:f65000].ClearContents
End Sub
'-------------------
exemple simple ici
http://cjoint.com/?itwYQaweZS
--
Salutations
JJ
--
Salutations
JJ
"JJ" <jean-jacques.débutant@au-secours.com> a écrit dans le message de news:
55E183ED-2702-4B93-AABD-C766C614571D@microsoft.com...
http://cjoint.com/?itu5BagsWv
je vais finir par y arriver est-ce bon?--
JJ
Re... Je n'arrive pas à lire les fichiers envoyés.....:-(( Néanmoins, d'après ce que j'ai compris à ta demande, ceci transfert à partir d'une feuille "Journal" dans les différents compte C'est à adapter à tes besoins bien sur. '------------ Sub jj() debut = [b65000].End(3).Row If debut = 3 Then MsgBox "Aucune donnée à inscrire": Exit Sub For Each c In Range("b1:b" & debut) If c = 41 Then feuille = "enfants" '*****nom des différente feuilles***** If c = 30 Then feuille = "compte1" If c = 521 Then feuille = "compte2" If c = 522 Then feuille = "compte3" If c = 523 Then feuille = "compte4" If c = 524 Then feuille = "compte5" If feuille <> "" Then derlg = Sheets(feuille).[a65000].End(3).Row + 1 Rows(c.Row).Copy Sheets(feuille).Range("a" & derlg) End If feuille = "" Next End Sub '_________________________________________ Sub raz() [a4:f65000].ClearContents End Sub '------------------- exemple simple ici http://cjoint.com/?itwYQaweZS -- Salutations JJ
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
http://cjoint.com/?itu5BagsWv je vais finir par y arriver est-ce bon?-- JJ
JJ
vu l'heure: bonjour c'est super. avec ce fichier je vais essayer de me débrouiller. Il faut avouer que ce n'est pas simple. Je te tiens au courant Merci beaucoup. C'est vraiment sympa -- JJ
Re... Je n'arrive pas à lire les fichiers envoyés.....:-(( Néanmoins, d'après ce que j'ai compris à ta demande, ceci transfert à partir d'une feuille "Journal" dans les différents compte C'est à adapter à tes besoins bien sur. '------------ Sub jj() debut = [b65000].End(3).Row If debut = 3 Then MsgBox "Aucune donnée à inscrire": Exit Sub For Each c In Range("b1:b" & debut) If c = 41 Then feuille = "enfants" '*****nom des différente feuilles***** If c = 30 Then feuille = "compte1" If c = 521 Then feuille = "compte2" If c = 522 Then feuille = "compte3" If c = 523 Then feuille = "compte4" If c = 524 Then feuille = "compte5" If feuille <> "" Then derlg = Sheets(feuille).[a65000].End(3).Row + 1 Rows(c.Row).Copy Sheets(feuille).Range("a" & derlg) End If feuille = "" Next End Sub '_________________________________________ Sub raz() [a4:f65000].ClearContents End Sub '------------------- exemple simple ici http://cjoint.com/?itwYQaweZS -- Salutations JJ
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
http://cjoint.com/?itu5BagsWv je vais finir par y arriver est-ce bon?-- JJ
vu l'heure: bonjour
c'est super. avec ce fichier je vais essayer de me débrouiller. Il faut
avouer que ce n'est pas simple.
Je te tiens au courant
Merci beaucoup. C'est vraiment sympa
--
JJ
Re...
Je n'arrive pas à lire les fichiers envoyés.....:-((
Néanmoins, d'après ce que j'ai compris à ta demande,
ceci transfert à partir d'une feuille "Journal" dans les différents compte
C'est à adapter à tes besoins bien sur.
'------------
Sub jj()
debut = [b65000].End(3).Row
If debut = 3 Then MsgBox "Aucune donnée à inscrire": Exit Sub
For Each c In Range("b1:b" & debut)
If c = 41 Then feuille = "enfants" '*****nom des différente feuilles*****
If c = 30 Then feuille = "compte1"
If c = 521 Then feuille = "compte2"
If c = 522 Then feuille = "compte3"
If c = 523 Then feuille = "compte4"
If c = 524 Then feuille = "compte5"
If feuille <> "" Then
derlg = Sheets(feuille).[a65000].End(3).Row + 1
Rows(c.Row).Copy Sheets(feuille).Range("a" & derlg)
End If
feuille = ""
Next
End Sub
'_________________________________________
Sub raz()
[a4:f65000].ClearContents
End Sub
'-------------------
exemple simple ici
http://cjoint.com/?itwYQaweZS
--
Salutations
JJ
--
Salutations
JJ
"JJ" <jean-jacques.débutant@au-secours.com> a écrit dans le message de news:
55E183ED-2702-4B93-AABD-C766C614571D@microsoft.com...
http://cjoint.com/?itu5BagsWv
je vais finir par y arriver est-ce bon?--
JJ
vu l'heure: bonjour c'est super. avec ce fichier je vais essayer de me débrouiller. Il faut avouer que ce n'est pas simple. Je te tiens au courant Merci beaucoup. C'est vraiment sympa -- JJ
Re... Je n'arrive pas à lire les fichiers envoyés.....:-(( Néanmoins, d'après ce que j'ai compris à ta demande, ceci transfert à partir d'une feuille "Journal" dans les différents compte C'est à adapter à tes besoins bien sur. '------------ Sub jj() debut = [b65000].End(3).Row If debut = 3 Then MsgBox "Aucune donnée à inscrire": Exit Sub For Each c In Range("b1:b" & debut) If c = 41 Then feuille = "enfants" '*****nom des différente feuilles***** If c = 30 Then feuille = "compte1" If c = 521 Then feuille = "compte2" If c = 522 Then feuille = "compte3" If c = 523 Then feuille = "compte4" If c = 524 Then feuille = "compte5" If feuille <> "" Then derlg = Sheets(feuille).[a65000].End(3).Row + 1 Rows(c.Row).Copy Sheets(feuille).Range("a" & derlg) End If feuille = "" Next End Sub '_________________________________________ Sub raz() [a4:f65000].ClearContents End Sub '------------------- exemple simple ici http://cjoint.com/?itwYQaweZS -- Salutations JJ
-- Salutations JJ
"JJ" <jean-jacques.dé a écrit dans le message de news:
http://cjoint.com/?itu5BagsWv je vais finir par y arriver est-ce bon?-- JJ