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

macro: importation de la derniere ligne

  • Initiateur de la discussion Initiateur de la discussion el valenciano
  • Date de début Date de début

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 !

E

el valenciano

Guest
bonjour a tous,
D’abord, c’est ma première apparition sur ce forum, je vous présente à tous mes meilleurs vœux pour cette nouvelle année.
Je vais vous exposer mon petit problème, qui sera, pour beaucoup d’entre vous, un jeu d’enfant …
J’ai 1 tableau Excel (A) constitué de 10 feuilles. Chaque feuille contient 12 colonnes de données et chaque jour, je rajoute une ligne, donc maximum , 31 lignes ( correspond a un mois).
J’ai un 2ieme tableau(B) de synthèse sur lequel, j’ai fait une macro, qui doit aller chercher la dernière ligne de chaque feuille du tableau A, et reconstituer un tableau unique de 10 lignes et 12 colonnes, dans B.
Voila, je n ai pas la solution pour trouver automatiquement, la dernière ligne
Merci, à tous
 
Re : macro: importation de la derniere ligne

Salut,

Je suppose que tu passes par un copy, donc pour copier la dernière ligne, utilise un truc du genre (en supposant que la colonne A correspondent a la dernière ligne remplit...) :
Sheets("ta_feuille").Rows(Range("A65536").End(xlUp).Row).Copy

@+
 
Re : macro: importation de la derniere ligne

Bonjour El Valenciano, Porcinet, bonjour le forum,

Je te conseillerais pour le futur de joindre ton fichier ou un fichier exemple basé sur ce fichier si celui-ci contient des données confidentielles ou si il est trop volumineux... Cela permettra d'adapter la réponse à tes besoins en utilisant les noms exacts des onglets, etc...

Je te propose la macro ci-dessous que tu devras certainement adapter car, comme tu n'as rien dis sur tout ça, j'ai considéré que le tableau A se trouvait sur les 10 premiers onglets de ton classeur dans les colonne A à 12...

Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim dest As Range 'déclara la variable dest (la cellule de DESTination de la copie)
For x = 1 To 10 'tu adapteras (je considère que le tableau A est sur les 10 premièrs onglets de ton classeur)
    dl = Sheets(x).Range("A6536").End(xlUp).Row 'définit la variable dl
    Set dest = Sheets("Feuil11").Range("A65536").End(xlUp).Offset(1, 0) 'definit la variable dest (tu adaptera le nom de l'onglet)
 
    With Sheets(x) 'prend en compte l'onglet x
        .Range(.Cells(dl, 1), .Cells(dl, 12)).Copy Destination:=dest 'la aussi tu adapteras (je considère que le tableau est sur les colonne A à L (1 à 12))
    End With 'fin de la prise en compte de l'onglet x
Next x 'prochain onglet du tableau A
End Sub
 
Re : macro: importation de la derniere ligne

bonjour Robert et Porcinet82,

un dessin vaut mieux que de grandes explications, je joins un exemple trés simplifié de ce que j ai besoin de réaliser. J espére que ca va vous aider Merci de votre colaboration

Je vous envoi un brin de soleil d'espagne pour vous remercier, c'est pas grand chose mais bon...
 

Pièces jointes

Re : macro: importation de la derniere ligne

Salut,

Je ne me suis pas fatigué, j'ai repris le code de mon ami Robert que j'ai légèrement modifié, ce qui donne :
Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim dc As Integer 'déclare la variable dc (Dernière Colonne)
Dim dest As Range 'déclara la variable dest (la cellule de DESTination de la copie)
Dim Ex As Workbook 'déclara la variable Ex (le fichier de destination de la copie)
For x = 1 To 3 'tu adapteras (je considère que le tableau A est sur les 3 premièrs onglets de ton classeur)
    dl = Sheets(x).Range("A6536").End(xlUp).Row 'définit la variable dl
    dc = Sheets(x).Range("IV1").End(xlToLeft).Column 'définit la variable dc
    'Workbooks("ton_fichier.xls").Activate
    Set Ex = Workbooks("ton_fichier.xls") 'définit la variable Ex (classeur Cible)
    Set dest = Ex.Sheets("syntese").Range("A65536").End(xlUp).Offset(1, 0) 'definit la variable dest (tu adaptera le nom de l'onglet)
    With Sheets(x) 'prend en compte l'onglet x
        .Range(.Cells(dl, 1), .Cells(dl, dc)).Copy Destination:=dest
    End With 'fin de la prise en compte de l'onglet x
Next x 'prochain onglet du tableau A
End Sub

@+
 
Re : macro: importation de la derniere ligne

Bonjour El Valenciano, Porcinet, bonjour le forum,

Je crois que Porcinet te propose une solution adéquate. (Content aussi de voir que tu es toujours assidu Romain).

Quant à toi El Valenciano, comment oses-tu ?
Je vous envoi un brin de soleil d'espagne pour vous remercier, c'est pas grand chose mais bon...

C'est pas grand chose ? Mais tu es fou !!! C'est la plus belle chose au contraire. Merci, merci, "mouchasse grassias" comme on dit par chez toi. Ce soleil de Valence nous réchauffe le cœur au contraire !
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
366
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…