Derniere ligne de tableau

v_faure

XLDnaute Nouveau
Bonjour,
je fais actuellement une macro (enregistrement direct) car je ne connais pas le Visual Basic.
J'ai un tableau dans lequel une colonne me permet d'identifier la mise à jour de certains fichiers, et j'y inscris «OK » lorsque la ligne est terminée.
Je fais donc un filtre sur OK, je copie mes lignes, j'ouvre ma deuxième feuille, et là je copie. Mon problème c'est qu'il copie toujours au même endroit. Pourtant dans ma macro je lui demande bien d'aller à la dernière ligne avec la combinaison de touches Ctrl + touche vers le bas, puis de nouveau touche vers le bas pour me positionner sur la ligne vierge.
Et systématiquement cela se remet en début de tableau.
Quelqu'un peut-il m'aider ?
j'espère que je me suis bien expliqué.
Merci d'avance
 

SUM

XLDnaute Occasionnel
Re : Derniere ligne de tableau

v_faure à dit:
Bonjour,
je fais actuellement une macro (enregistrement direct) car je ne connais pas le Visual Basic.
J'ai un tableau dans lequel une colonne me permet d'identifier la mise à jour de certains fichiers, et j'y inscris «OK » lorsque la ligne est terminée.
Je fais donc un filtre sur OK, je copie mes lignes, j'ouvre ma deuxième feuille, et là je copie. Mon problème c'est qu'il copie toujours au même endroit. Pourtant dans ma macro je lui demande bien d'aller à la dernière ligne avec la combinaison de touches Ctrl + touche vers le bas, puis de nouveau touche vers le bas pour me positionner sur la ligne vierge.
Et systématiquement cela se remet en début de tableau.
Quelqu'un peut-il m'aider ?
j'espère que je me suis bien expliqué.
Merci d'avance

C'est une peu confus comme explication. il est toujours difficile de retranscrire un problème car le lecteur doit découvrir et comprendre une certaine évidence pour celui qui expose son problème. Le mieux est de joindre un fichier afin que l'on puisse t'aider. C'est aussi plus sympa pour toi car tu auras sans doute des réponses plus rapidement.
 

Moa

XLDnaute Occasionnel
Re : Derniere ligne de tableau

Salut V_Faure !

La macro ne comprend pas les actions simultanées de touches.

Si tu veux copier quelquechose à la suite d'une autre, il te faut trouver la dernière ligne "Occupée" et pour ce, il y a une technique.

Range("A65536").end(xlup).Row

Te donnera le N° de la dernière ligne de ton tableau.

Ainsi, tu pourras dire à ta macro de copier tes nouvelles données une ligne en dessous en faisant un décalage (Offset)

Range("A65536").end(xlup).Offset(1,0).Activate

Et voilà, tu feras ton Paste là.

Maintenant, si tu a déclaré une variable auparavant pour connaître le numéro de cette même ligne, cela pourra donner :

Range("A65536").end(xlup).row + 1

@ +++

ChrisOne
 

v_faure

XLDnaute Nouveau
Re : Derniere ligne de tableau

SUM à dit:
C'est une peu confus comme explication. il est toujours difficile de retranscrire un problème car le lecteur doit découvrir et comprendre une certaine évidence pour celui qui expose son problème. Le mieux est de joindre un fichier afin que l'on puisse t'aider. C'est aussi plus sympa pour toi car tu auras sans doute des réponses plus rapidement.

Merci de ces explications, je vais placer mon fichier.
 

v_faure

XLDnaute Nouveau
Re : Derniere ligne de tableau

Moa à dit:
Salut V_Faure !

La macro ne comprend pas les actions simultanées de touches.

Si tu veux copier quelquechose à la suite d'une autre, il te faut trouver la dernière ligne "Occupée" et pour ce, il y a une technique.

Range("A65536").end(xlup).Row

Te donnera le N° de la dernière ligne de ton tableau.

Ainsi, tu pourras dire à ta macro de copier tes nouvelles données une ligne en dessous en faisant un décalage (Offset)

Range("A65536").end(xlup).Offset(1,0).Activate

Et voilà, tu feras ton Paste là.

Maintenant, si tu a déclaré une variable auparavant pour connaître le numéro de cette même ligne, cela pourra donner :

Range("A65536").end(xlup).row + 1

@ +++

ChrisOne


Merci pour ces explications, je comprends un tout petit peu ce que tu essaies de m'expliquer, mais ne connaissant pas Visual basic, je fais donc la macro en enregistrant au fur et à mesure les étapes manuelles.
Par exemple pour supprimer une ligne : sélection de la ligne, éditions, supprimer la ligne... Etc. etc.
tout se passe bien jusqu'à la sélection des lignes, du chargement de la nouvelle page, mais la en manuelle je sais aller à la dernière ligne (CTRL+FIN), mais aller en dessous, je ne sais pas, j'appuie une fois sur la touche flèche vers le bas. Mais lorsque j'envoie la macro, tout se passe bien sauf que sur le nouveau fichier ou la nouvelle page, mon tableau s'il est déjà présent est écrasé, il est remplacé systématiquement par la dernière manipulation.
 

Pièces jointes

  • base.xls
    14.5 KB · Affichages: 149
  • base.xls
    14.5 KB · Affichages: 147
  • base.xls
    14.5 KB · Affichages: 146

ziopizza

XLDnaute Occasionnel
Re : Derniere ligne de tableau

Bonsoir à tous ,
Si j'ai compris?
Regarde le fichier joint,qui transfére la ligne quant tu la pointe dans la
colonne (k).
@+ Yves
 

Pièces jointes

  • -derniere-ligne-de-tableau-base.xls
    24.5 KB · Affichages: 315
  • -derniere-ligne-de-tableau-base.xls
    24.5 KB · Affichages: 318
  • -derniere-ligne-de-tableau-base.xls
    24.5 KB · Affichages: 311

v_faure

XLDnaute Nouveau
Re : Derniere ligne de tableau

ziopizza à dit:
Bonsoir à tous ,
Si j'ai compris?
Regarde le fichier joint,qui transfére la ligne quant tu la pointe dans la
colonne (k).
@+ Yves


Merci, excuse-moi de t'embêter, mais il faudrait que tu m'expliques le dérouler de cette macro. Effectivement lorsque l'on marque le pointeur, cela transfère bien la ligne mais pas le pointeur. Et il faudrait pouvoir supprimer la ligne pointée du premier tableau.
Surtout comment puis-je en refaire cette macro par un enregistrement classique. Que je comprendrais mieux.
À plus V.
 

ziopizza

XLDnaute Occasionnel
Re : Derniere ligne de tableau

Bonjour V_faure,
Je joint un autre fichier qui fait ce que tu demande,la macro est commentée.
Cette Macro ne peux ce faire par l'enregistreur automatique de macro
Essaye de la suivre.
Je revient en fin d'aprés_midi,hésite pas si tu as dautres questions
@+ Yves

Tenir compte de la remarque de Robert fil ci-dessous et changer la ligne.
 

Pièces jointes

  • -derniere-ligne-de-tableau-base1.xls
    24 KB · Affichages: 308
  • -derniere-ligne-de-tableau-base1.xls
    24 KB · Affichages: 306
  • -derniere-ligne-de-tableau-base1.xls
    24 KB · Affichages: 308
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Derniere ligne de tableau

Bonjour le fil, bonjour le forum,

En regardant le fichier de Ziopizza, je ne comprenais pas le fonctionnement et je me suis rendu compte d'une petite erreur dans le code :

lig = Target.Row se semble plus juste que lig = ActiveCell.Row.
 

ziopizza

XLDnaute Occasionnel
Re : Derniere ligne de tableau

Bonjour Robert,

Grâce à toi je ne ferai plus cette erreur qui chez moi n’ étais pas une erreur
dans les options d'excel je fais déplacer le curseur vers la droite,après validation,ce qui fait que pour moi lig = Target.Row est identique lig = ActiveCell.Row .

Merci à toi
Salut Yves
 
Dernière édition:

v_faure

XLDnaute Nouveau
Re : Derniere ligne de tableau

ziopizza à dit:
Bonjour V_faure,
Je joint un autre fichier qui fait ce que tu demande,la macro est commentée.
Cette Macro ne peux ce faire par l'enregistreur automatique de macro
Essaye de la suivre.
Je revient en fin d'aprés_midi,hésite pas si tu as dautres questions
@+ Yves

Tenir compte de la remarque de Robert fil ci-dessous et changer la ligne.

Bonjour ziopizza,
merci beaucoup, les commentaires sur la macro sont très explicites, je pense avoir compris, je vais tenter de me la reproduire tout seul.
Si j'ai un souci je te recontacterais si tu le permet pour que tu m'expliques.
À plus v.
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 347
Membres
103 525
dernier inscrit
gbaipc