Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sev31130

XLDnaute Impliqué
bonjour,

j ai une macro
Worksheets("P").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A13:F500").Select 'plage de cellule a copier ici de A1à F500
Selection.Copy 'on copie
Sheets("ecart NGP").Select 'selection de la feuille ou tu veux coller les données
Range("A1").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
End sub




1) sur la feuille P,je ne voudrais selectionner que la derniere ligne, les colonnes de A à F (sinon je prends toute la plage A1:F500)
2) je voudrais selectionner pour les coller sur 2 feuilles qui sont : " ecart NGP" et "ecart NGT" comment je peux
faire

( je me suis rendu compte que la macro marche mais si je fais un coller suite a la " selection.copy" je me retrouve avec toute la plage
par avance merci

Cordialement
 
Re : formule macro

Bonjour

si tu ne veux copier que la ligne 500

Worksheets("P").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A500:F500").Select 'plage de cellule a copier ici de A500à F500
Selection.Copy 'on copie
Sheets("ecart NGP").Select 'selection de la feuille ou tu veux coller les données
Range("A1").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
Sheets("ecart NGT").Select 'selection de la feuille ou tu veux coller les données
Range("A1").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller

End sub



PS as-tu essayé de lire et de comprendre le code commenté ?
 
Re : formule macro

Bonjour

si tu ne veux copier que la ligne 500

Worksheets("P").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A500:F500").Select 'plage de cellule a copier ici de A500à F500
Selection.Copy 'on copie
Sheets("ecart NGP").Select 'selection de la feuille ou tu veux coller les données
Range("A1").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
Sheets("ecart NGT").Select 'selection de la feuille ou tu veux coller les données
Range("A1").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller

End sub



PS as-tu essayé de lire et de comprendre le code commenté ?

re

Oui 'ai essayé de le lire et je comprends(si je ne me rompe pas) que je dis de copier sur la feuille P la plage A1:F500, pour recopier sur la feuille"ecart NGP" et sur la feuille "ecart NPP" partir de la cellule A1

En fait je pensais qu'en mettant cette formule cela ne lirait que la derniere ligne que je saisie(QUI SE TROUVE ELLE DANS LA PLAGE A1:F500) or ca copie toute la plage et ca recopie toute la plage.
Et je pose justement la question comment faire pour ne lire et ne copier que la derniere ligne(que je viens de saisir) apres la derniere ligne écrite sur les feuilles " ecart NGP" et "ecart NPP"

PAR AVANCE MERCI

CORDIALEMENT
 
Dernière édition:
Re : formule macro

Bonjour Sev, Hello Dugenou, le forum,

pour avoir la dernière ligne et en considérant que la colonne A n'a pas de vide
Code:
 sheets("P").range("a1").end(xldown).row 'te renvoie le numéro de la dernière ligne saisie

Ensuite tu la couples à une variable :
Code:
x= sheets("P").range("a1").end(xldown).row 'te renvoie le numéro de la dernière ligne saisie
tu sélectionnes la plage voulue
Code:
sheets("P").range(cells(x,1),cells(x,6)).copy sheets("ecart NGP").range("A1")

en espérant que ça t'aide!
 
Re : formule macro

Bonjour Sev, Hello Dugenou, le forum,

pour avoir la dernière ligne et en considérant que la colonne A n'a pas de vide
Code:
 sheets("P").range("a1").end(xldown).row 'te renvoie le numéro de la dernière ligne saisie

Ensuite tu la couples à une variable :
Code:
x= sheets("P").range("a1").end(xldown).row 'te renvoie le numéro de la dernière ligne saisie
tu sélectionnes la plage voulue
Code:
sheets("P").range(cells(x,1),cells(x,6)).copy sheets("ecart NGP").range("A1")

en espérant que ça t'aide!

merci

sniffssssssss mais je sais po faire les changements que tu me dis dans la formule que j'ai !! ouinnnnnnnnnnn ouinnnnnnn (jai 72 balais suis pas doué dans votre génération informatique, mais j'éssaie quand même)

merci si tu peux me donner la formule avec les changements

cordialement
 
Re : formule macro

Cette ligne seule ne marche pas?

Quelle est l'erreur indiquée?
Mets un fichier exemple ce sera plus simple pour t'aider!

BONSOIR

mon fichier est trop lourd et il ne prends pas le .rar
mais voila les si tu peux faire une seule macros (ou VBA) de ces trois la en me disant exactement ce que je dois faire :

Worksheets("P").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A132:F166").Select 'plage de cellule a copier ici de A132 à 166
Selection.Copy 'on copie
Sheets("ecart NGP").Select 'selection de la feuille ou tu veux coller les données
Range("A122").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
Sheets("ecart NPP").Select 'selection de la feuille ou tu veux coller les données
Range("A122").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller

End sub

__________________________________________________________________________________________

Worksheets("T").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A151:F166").Select 'plage de cellule a copier ici de A151 à 166
Selection.Copy 'on copie
Sheets("ecart NGT").Select 'selection de la feuille ou tu veux coller les données
Range("A151").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
Sheets("ecart NPT").Select 'selection de la feuille ou tu veux coller les données
Range("A151").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller

End sub
___________________________________________________________________________________________

Worksheets("O").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A53:F70").Select 'plage de cellule a copier ici de A53 à 70
Selection.Copy 'on copie
Sheets("ecart NGO").Select 'selection de la feuille ou tu veux coller les données
Range("A38").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
Sheets("ecart NPO").Select 'selection de la feuille ou tu veux coller les données
Range("A38").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller

End sub
____________________________________________________________

par avance merci
 
Re : formule macro

BONSOIR

mon fichier est trop lourd et il ne prends pas le .rar
mais voila les si tu peux faire une seule macros (ou VBA) de ces trois la en me disant exactement ce que je dois faire :

Worksheets("P").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A132:F166").Select 'plage de cellule a copier ici de A132 à 166
Selection.Copy 'on copie
Sheets("ecart NGP").Select 'selection de la feuille ou tu veux coller les données
Range("A122").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
Sheets("ecart NPP").Select 'selection de la feuille ou tu veux coller les données
Range("A122").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller

End sub

__________________________________________________________________________________________

Worksheets("T").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A151:F166").Select 'plage de cellule a copier ici de A151 à 166
Selection.Copy 'on copie
Sheets("ecart NGT").Select 'selection de la feuille ou tu veux coller les données
Range("A151").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
Sheets("ecart NPT").Select 'selection de la feuille ou tu veux coller les données
Range("A151").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller

End sub
___________________________________________________________________________________________

Worksheets("O").Select 'selection de la feuille ou tu veux selectionner les données a copier
Range("A53:F70").Select 'plage de cellule a copier ici de A53 à 70
Selection.Copy 'on copie
Sheets("ecart NGO").Select 'selection de la feuille ou tu veux coller les données
Range("A38").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller
Sheets("ecart NPO").Select 'selection de la feuille ou tu veux coller les données
Range("A38").Select 'cellule a partir de laquelle tu veux coller
ActiveSheet.Paste 'coller

End sub
____________________________________________________________

par avance merci

bonjour

comme tu peux le voir dans chaque "module " je change la plage de copie pour ne pas tout copier , mais si je ne peux copier que la derniere ligne saisie ce n'est que mieux ....

j'essaie de t'envoyer le fichier ( une usine à gaz, mais je m'y retrouve) si tu peux mettre en place , si tu as compris ce que je veux merci

amitiés

yves
 

Pièces jointes

Re : formule macro

bonjour

comme tu peux le voir dans chaque "module " je change la plage de copie pour ne pas tout copier , mais si je ne peux copier que la derniere ligne saisie ce n'est que mieux ....

j'essaie de t'envoyer le fichier ( une usine à gaz, mais je m'y retrouve) si tu peux mettre en place , si tu as compris ce que je veux merci

amitiés

yves


bonjour,

ne connaissant rien ni aux macros, ni au VBA, mais je me posais la question:

dans chaque feuille P T O il y a un bouton transfert qui copie la derniere ligne saisie sur la feuille "generale" est ce que avec cette fonction on ne peut pas en même temps lui dire de copier :
pour P dans NGP-NPP
pour T dans NGT-NPT
et pour O dans NGO-NPO
je demande cela mais je n'y connais rien alors tout betement je pose la question

MERCI si c'est POSSIBLE
 
Re : formule macro

bonjour,

ne connaissant rien ni aux macros, ni au VBA, mais je me posais la question:

dans chaque feuille P T O il y a un bouton transfert qui copie la derniere ligne saisie sur la feuille "generale" est ce que avec cette fonction on ne peut pas en même temps lui dire de copier :
pour P dans NGP-NPP
pour T dans NGT-NPT
et pour O dans NGO-NPO
je demande cela mais je n'y connais rien alors tout betement je pose la question

MERCI si c'est POSSIBLE


Bonjour


je t'envoi le fichier complet ( usine à gaz, mais je m'en sors et ca me sert bien)

(c) CJoint.com, 2012

cordialement

yves
 
Re : formule macro

Bonjour Seve,

avec ce bout de code tu peux faire ce que tu veux pour récupérer la dernière ligne de la feuille P et la copier/coller à la suite en feuille NPP et NGP (idem pour O et T)
Code:
Sub t()
With Sheets("P")
dernligneP = .Range("a65000").End(xlUp).Row
.Rows(dernligneP).Copy Sheets("ecart NGP").Range("A65000").End(xlUp).Offset(1, 0)
.Rows(dernligneP).Copy Sheets("ecart NPP").Range("A65000").End(xlUp).Offset(1, 0)

End With

With Sheets("O")
dernligneO = .Range("a65000").End(xlUp).Row
.Rows(dernligneO).Copy Sheets("ecart NGO").Range("A65000").End(xlUp).Offset(1, 0)
.Rows(dernligneO).Copy Sheets("ecart NPO").Range("A65000").End(xlUp).Offset(1, 0)

End With

With Sheets("T")
dernligneT = .Range("a65000").End(xlUp).Row
.Rows(dernligneT).Copy Sheets("ecart NGT").Range("A65000").End(xlUp).Offset(1, 0)
.Rows(dernligneT).Copy Sheets("ecart NPT").Range("A65000").End(xlUp).Offset(1, 0)

End With

End Sub

Bon courage!
Attention il y a d'autres problèmes qui interviennent à cause des macros événementielles et des autres codes...
 
Re : formule macro

Bonjour Seve,

avec ce bout de code tu peux faire ce que tu veux pour récupérer la dernière ligne de la feuille P et la copier/coller à la suite en feuille NPP et NGP (idem pour O et T)
Code:
Sub t()
With Sheets("P")
dernligneP = .Range("a65000").End(xlUp).Row
.Rows(dernligneP).Copy Sheets("ecart NGP").Range("A65000").End(xlUp).Offset(1, 0)
.Rows(dernligneP).Copy Sheets("ecart NPP").Range("A65000").End(xlUp).Offset(1, 0)

End With

With Sheets("O")
dernligneO = .Range("a65000").End(xlUp).Row
.Rows(dernligneO).Copy Sheets("ecart NGO").Range("A65000").End(xlUp).Offset(1, 0)
.Rows(dernligneO).Copy Sheets("ecart NPO").Range("A65000").End(xlUp).Offset(1, 0)

End With

With Sheets("T")
dernligneT = .Range("a65000").End(xlUp).Row
.Rows(dernligneT).Copy Sheets("ecart NGT").Range("A65000").End(xlUp).Offset(1, 0)
.Rows(dernligneT).Copy Sheets("ecart NPT").Range("A65000").End(xlUp).Offset(1, 0)

End With

End Sub

Bon courage!
Attention il y a d'autres problèmes qui interviennent à cause des macros événementielles et des autres codes...

Bonjour

merci

attention on copie toute la ligne alors que je ne veux copier que les colonnes A B C D E F
les autres problemes qui interviennent c'est que j ai deja une cellule qui est nommé test , mais je renomme et je passe
mais a condition de ne copier que les 6 colonnes

par avance merci
 
Re : formule macro

Merci

mais je ne connais rien en VBA

et je sais pas ou je dois faire le changement dans la formule
fais en un et je ferais les autres

mille merci
j'ai fait exprès de mettre la lettre dans la variable... tu n'as qu'à remplacer le O dans les deux autres cas T & P sur dernligneO (plusieurs fois!) et le nom des feuilles (dont le with)! ça fait 10 remplacements max... un petit effort!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
346
Réponses
3
Affichages
231
Réponses
10
Affichages
656
Retour