Concaténer plusieurs feuilles en une

  • Initiateur de la discussion nicolas
  • Date de début
N

nicolas

Guest
Forumeurs, Forumeuses
Bonjour!

J'ai un fichier avec plusieurs feuilles contenant chacune un tableau de taille variable, et une feuille sur laquelle je dois retrouver les tableaux les uns à la suite des autres.
Je voudrais donc connaitre la syntaxe pour copier les données de chaque feuille (comme ces données sont de taille variable, il faut copier les n premières lignes, càd celles ou on retrouve du "texte") et les placer les une à la suite autres sur ma feuille récapitulatif.

Suis débutant en VBA et ça me parait pour l'instant insurmontable.
Je vous remercie donc par avance de toute aide, même minime.
a plus
koko
 
N

nicolas

Guest
'jour Robert,
Le problème c'est qu'à la base y'a pas de tableau dans mon fichier.
Je m'explique :
Mon fichier (fichier de recherche) sur lequel je bosse sert à importer depuis 7 classeurs différents (7 bases de données) les lignes de chaque base pour lesquelles le champ "nom" (ce champ est dans toute les bases) correspond à celui que je choisis dans une liste déroulante sur mon fichier de recherche.
J'ai donc un macro qui fait le transfert des lignes de la base 1 dans une feuille spécifique, des lignes de la base 2 dans une feuille spécifique etc.
Au lieu d'avoir mes résultats sur des feuiiles différentes, je souhaiterais les avoir les uns à la suite des autres.

Je pensais donc rajouter une sous-macro qui reprend les "valeurs" (les lignes ou y'a qq chose écrit) de chaque feuille pour les concaténer sur une feuille globale.
Jusque-là je pense que tu avais de toute facon compris.
Le problème par rapport à ton conseil, c'est que mon fichier de recherche doit rester vierge. Quand j'importe des données, celles-ci ont une durée de vie limitée puisque elles disparaissent si je ferme la classeur (l'enregistrement du classeur est impossible) ou si je fais une recherche sur un nouveau nom.
Voili voilou, le nommage des tableaux est donc impossible.

Peut être qu'avec pour chaque feuille à recopier :
Sub COPIE()
Sheets("feuille en question").Copy
Cells.select
Selection.copy
SElection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End Sub

Plus une boucle qui sert à déterminer la première ligne vide entre chaque recopiage ca devrait marcher!
Qu'en pensez-vous??
 
@

@+Thierry

Guest
=> Concaténer plusieurs feuilles (Any Name / Any Size) en un Reporting

Salut Nicolas, Robert, le Forum

Attention Nicolas, ce n'est pas comme ceci => "Et un post d'actualisation un!" que l'on s'y prend dans ce Forum (perso c'est quand je vois tard le soir certains Fils avec un Sujet CLair et Zéro Réponse que j'interviens...)

Bon on mettra çà sur une erreur de jeunesse... Sinon ci-joint une mini démo ... Qui reportera toutes les données contenues dans le classeur, quelque soit le nom des feuilles, quelque soit le nombre de Colonnes ou de Lignes… Tout à la suite dans une feuille "Reporting"...

Je pense que c'est ce que tu cherches à faire...

Bon Week End
@+Thierry
 

Pièces jointes

  • Report-Any-Sheets-Any-Range.zip
    17.5 KB · Affichages: 2 252

Discussions similaires

Statistiques des forums

Discussions
312 684
Messages
2 090 916
Membres
104 698
dernier inscrit
miespetico