Fusion de données de plusieurs classeurs

  • Initiateur de la discussion Initiateur de la discussion Tahititin
  • 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 !

Tahititin

XLDnaute Occasionnel
Bonjour,
Je suis nouveau sur ce forum et complétement novice en programmation VBA. Je travaille en milieu hospitalier et il m'a été demandé de travailler sur une programmation opératoire unique et simple... Explication : J'ai 1 fichier excel mensuel et par spécialité (orthopédie, neurochir, viscéral, ORL, Ophtalmo, stomato, endoscopie...etc) comportant 1 onglet par semaine (4). ces classeurs sont complété au fur et à mesure par 1 secrétaire par spécialité. il faudrait que je puisse arriver à fusionner tous ces classeur pour parvenir à une programmation mensuel incluant toutes les spécialités (pour le régulateur du bloc).
Petite précision, il faudrait que le fichier "synthèse" puisse être mis à jour si les programmation par spécialité évoluent.
Ensuite, le bloc dispose de 9 salles et il faudrait que je arriver (à partir de mon fichier synthse" à une programmation journalière par salle !!!
La structure des fichier est bien entendu identiqueet je voudrais éviter les copier/coller et automatiser tout ça
j'espère avoir été suffisamment clair.

D'avance merci pour votre précieuse aide
 
Re : Fusion de données de plusieurs classeurs

Bonjour bhbh et désolé si ma réponse t'a offensé mais je suis novice en VBA.... je m'y suis mis depuis peu.
J'ai donc remplacé le "bout" de code que tu m'as gentiment transmis mais quand j'exécute la macro j'ai un débogage sur la ligne suivante :
For Each Cel In Feuille.Range("B5:B200").SpecialCells(xlCellTypeConstants, 23)
Visiblement la plage indiquée n'est pas reconnu.
J'ai même essayé de compiler ton code qui boucle sur la colonne B et le mien (enfin celui de catrice) mais rien n'y fait, j'ai toujours une erreur de plage dès le "scanne" du premier fichier source.
Ce qui m'étonne c'est qu'avec 69 lignes ça passe mais pas avec 83 alors que tout le code boucle sur 65536 lignes !!!
Je ne désespère pas et reste confiant. La communauté des chirurgiens et les anesthésistes sont tous partant pour me suivre dans ce projet.
Merci de ton aide
 
Re : Fusion de données de plusieurs classeurs

Bonjour,

A mon grand dam (ça se dit encore, ça ?), j'ai également un message d'erreur avec la propsition de bhbh: "erreur d'exécution 1004; Pas de cellules correspondantes".
Pourtant, l'idée de vérifier le contenu de la colonne B était séduisante. En effet, le problème de la colonne A est qu'elle contient, dans les différentes feuilles, des cellules fusionnées. Dès lors, lorsqu'on repère la dernière cellule vide de la colonne A, il ne s'agit, en réalité, que de la première cellule de la dernière plage fusionnée.
Si le nombre de lignes est variable, en plus, voici une proposition d'adaptation, qui (me semble-t-il !!!!) tient compte des 2 aspects.

Les lignes 16 et 17 sont les seules à devoir être modifiées (en rouge)
Code:
If Left(Feuille.Name, 7) = "Semaine" Then 
    [B][COLOR="Red"]nbLignes = Feuille.Range("A5").End(xlDown).Row - 5 'pour repérer le nombre de lignes fusionnées[/COLOR][/B]
    For Each Cel In Feuille.Range("A4[COLOR="red"][B]:A[/B][/COLOR]" & Feuille.Range("A65536").End(xlUp).[COLOR="red"][B]Row + nbLignes[/B][/COLOR]) 'Boucle sur les cellules de la colonne A

A tester soigneusement, bien entendu!

Modeste
 
Re : Fusion de données de plusieurs classeurs

Bonjour,

Ci-joint une version modifiée qui corrige les petits problemes rencontrés.
La version de modeste fontionne mais seulement si le nombre de lignes fusionnées est fixe (je crois que ce n'est pas le cas).
La version de bhbh fontionne aussi mais il faut qu'il y ait au moins un nom saisi dans la colonne...

La version jointe s'affranchit des 2 cas de figures ci-dessus.
 

Pièces jointes

Dernière édition:
Re : Fusion de données de plusieurs classeurs

Bonjour à tous,

Pour Catrice:
La version de modeste fontionne mais seulement si le nombre de lignes fusionnées est fixe (je crois que ce n'est pas le cas).
Je ne suis pas certain, mais il me semble que le nombre de cellules fusionnées dans une même feuille était constant ...

Ceci dit, Tahititin (contacté par message privé) avait décidé -pour répondre aux demandes pressantes- de recopier les dates dans chaque ligne et de ne plus fusionner ... 🙁
Il devrait repasser nous dire ce qu'il en est un de ces jours!

@+
 
Re : Fusion de données de plusieurs classeurs

Bonsoir Modeste,

Exact, pour une meme feuille.
Dans mes tests, j'avais bricolé une journée.
Donc ta solution fontionne.

La mienne gere les nombres de jours differents au cas où ...

Etant donné que qu'une partie du Fil a été traité en MP, il serait sympa que Tahititin nous dises où il en est 😉
 
Dernière édition:
Re : Fusion de données de plusieurs classeurs

Bonjour,
Je suis également intéressé par la fusion de plusieurs onglets dans un même classeur.
En effet, je souhaite copier des cellules par exemple A1 et A2 de ma feuille 1 dans un nouveau classeur, ainsi que pour A1 et A2 mais de la feuille 2 dans un même classeur et ainsi de suite.

Voici ce que je viens de faire, sachant que c’est un début pour moi.
Sub copiercoller()
'
' copiercoller Macro
'

'
Sheets("Feuil1").Select
Range("A6").Select
Selection.Copy
Sheets("Feuil3").Select
Range("A6").Select
ActiveSheet.Paste
Sheets("Feuil2").Select
Range("A6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil3").Select
Range("A7").Select
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Mais quand puis-je faire pour passer d'un onglet à un autre et le coller dans mon classeur de récapitulatif. Quelle type de boucle, doisje utiliser?
For exch worksheet ?? un truc de ce genre peut être???

Petit ajout= je copie toujours la colonne A et B à partir d'une ligne donnée.

Par avance, merci pour votre aide sur le sujet
 
Dernière édition:
Re : Fusion de données de plusieurs classeurs

Bonjour,

Merci pour ce début de réponse.

Dans ma colonne A, j'ai des références par exemple X, Y, Z et dans la colonne B la description exemple vaccin, travail, santé.

Je viens de mettre ci-joint un exemple de ce que je voudrais être capable d'obtenir...c'est dans la feuil3 sauf que je voudrais avoir ce résultat dans un nouveau classeur
 

Pièces jointes

Dernière édition:
Re : Fusion de données de plusieurs classeurs

Bonjour Catrice,
Je m'empresse de tester cette nouvelle version Beta12 et te tiens informé. Je vais faire le test en "défusionnant les cellule" car je trouve qu'au niveau de la présentation de la synthèse c'est plus clair.
Je te tiens au courant rapidement
 
Re : Fusion de données de plusieurs classeurs

Bonjour Catrice,

Un grand merci pour ce superbe travail 🙂.
J'ai encore une petite question.
J'ai plus de 30 onglets et il ne me copie dans ma feuille de récap que 25 onglets (+/-). Pourquoi je n'arrive pas à copier l'ensemble des onglets. Une énigme pour moi.
Comment puis-je faire pour coller seulement la colonne a et b et ne pas prendre les colonnes suivantes (c et d) etc.

Par avance, merci de ton aide.

Bonne aprés midi
 
Re : Fusion de données de plusieurs classeurs

Bonjour Catrice,

J'ai testé et ça fonctionne parfaitement. J'ai modifié à ma sauce et ma première macro tourne comme sur des roulettes 🙂.
J'ai compris pourquoi il ne collait pas l'ensemble de mes onglets, c'est parce que j'avais une ligne qui le dérangeait. depuis j'ai fait la modification et il colle bien l'ensemble des onglets.
 
- 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
Retour