Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

sélectionner et copier la dernière ligne non vide

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 !

ph.vanne

XLDnaute Junior
Bonjour à tous ,
je cherche un bout de code VBA me permettant de copier/coller la dernière ligne non vide d'un tableau excel mais situé dans un un autre fichier .

en clair (?):

je voudrais un bouton de commande dans mon fichier A avec la macro qui va bien ,qui irait donc sélectionner et copier la dernière ligne non vide dans mon fichier B/ feuil 1 ..
pour la coller dans la première ligne de la feuil 2 située également dans mon fichier B.

(j'ai ensuite une autre macro qui 'traite' cette fameuse ligne 1 de la feuil 2)

vous avez surement plein de solutions dans vos valises!

Merci d’avance !

Phil.
 
Bonjour,

avec ces éléments de code à adapter et corriger certainement

VB:
with workbooks("Classeur1.xlsm").sheets("Feuil2")
   .range("A"& .range("A" &rows.count).end(xlup).row).entirerow.copy
end with
with workbooks("Classeur2.xlsm).sheets("Feuil1")
  .range("A1").paste  'voir du coté de PasteSpecial pour inserer les cellules copiées
end with

sinon, mieux.. tu lances l'enregistreur de macro. et tu fais ton copier coller une fois..
et tu adaptes le code
 
bonjour et merci ..
mais il me reste un problème :
en faite, ma dernière ligne de la colonne A contient une formule qui renvoie soit un nom, par ex: "Dupont" soit " " , la cellule est alors "vide".. mais seulement pour moi , pas pour excel...!!
.je ne comprenais pas pourquoi je me retrouvais toujours en bas de mon tableau .. là ou il n'y a plus de formule !!
la fonction serait donc : recherche de la dernière cellule comprenant la valeur " " et sélectionner et copier la ligne entière correspondante ....
as tu une solution?
 
c 'est flou et il y a peut être même un loup ! 🙂

un extrait du fichier joint :
- toutes les cellule ont une" liaisons "vers un autre fichier ('Projet CAISSE 2009 Ver beta21.xls")
- je souhaite récupérer la dernier cellule a savoir , dans le cas present, " brunel forage" et copier la ligne entiere.

voilou !
 

Pièces jointes

Hello

Bon.. c'est toujours pas clair:

essaie ceci..
deux méthodes de copier coller

VB:
Sub test()
Set FeuilleOrigine = ActiveWorkbook.Sheets("Feuil1")
Set FeuilleDestinationLiaison = ActiveWorkbook.Sheets("Feuil2") 'pour copie avec liaisons vers le fichier origine
Set FeuilleDestinationValeur = ActiveWorkbook.Sheets("Feuil3") 'pour copie des valeurs uniquement --> plus de liaison


With FeuilleOrigine
   .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row).EntireRow.Copy
   FeuilleDestinationValeur.Range("A1").PasteSpecial (xlPasteValuesAndNumberFormats)
   .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row).EntireRow.Copy Destination:=FeuilleDestinationLiaison.Range("A1")
   
End With

End Sub
 
bonjour ,

alors je vais essayer d’être plus précis .. :

je voudrais juste le "bout de code" qui va aller me sélectionner la dernière cellule .....avec du texte !
dans le cas du fichier joint ,la ligne 11 ,contenant le nom habish..

la cellule en dessous ,(la ligne 12) est vide mais en fait contient la valeur de la cellule AT 1504 issue d'un autre fichier ,
(d'ou la formule :

='C:\Users\Hotel Jaures\Documents\DOSSIERS HOTEL\COMPTA ET GESTION\CAISSES JAURES ET ALLEES\CAISSE 2010\[Projet CAISSE 2009 Ver beta21.xls]2016'!AT1504 )

et dont la valeur est : " " , et pour moi la cellule était vide , en fait elle n'est pas vide ,mais elle ne contient pas de texte !
d'ou peut être ton incompréhension ..

est ce plus clair ... ?

Phil.
 

Pièces jointes

Hello

avec ce code alors..
VB:
Sub test()
Set FeuilleOrigine = ActiveWorkbook.Sheets("Feuil1")
Set FeuilleDestinationLiaison = ActiveWorkbook.Sheets("Feuil2") 'pour copie avec liaisons vers le fichier origine
Set FeuilleDestinationValeur = ActiveWorkbook.Sheets("Feuil3") 'pour copie des valeurs uniquement --> plus de liaison


With FeuilleOrigine
   last = .Range("A" & Rows.Count).End(xlUp).Row
   Do
    If Range("A" & last) = "" Then last = last - 1
    Loop Until Range("A" & last) <> ""
     
    .Range("A" & last).EntireRow.Copy
    FeuilleDestinationValeur.Range("A1").PasteSpecial (xlPasteValuesAndNumberFormats)
    .Range("A" & last).EntireRow.Copy Destination:=FeuilleDestinationLiaison.Range("A1")
   
End With

End Sub
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…