Fusion de données de plusieurs classeurs

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
 

Tahititin

XLDnaute Occasionnel
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
 

Modeste

XLDnaute Barbatruc
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
 

Catrice

XLDnaute Barbatruc
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

  • PROGRAMME OPERATOIRE GENERAL Oct09.zip
    23.2 KB · Affichages: 54
  • PROGRAMME OPERATOIRE GENERAL Oct09.zip
    23.2 KB · Affichages: 57
  • PROGRAMME OPERATOIRE GENERAL Oct09.zip
    23.2 KB · Affichages: 54
Dernière édition:

Modeste

XLDnaute Barbatruc
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!

@+
 

Catrice

XLDnaute Barbatruc
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:

toto_7711

XLDnaute Nouveau
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:

toto_7711

XLDnaute Nouveau
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

  • copiercoller.xls
    31 KB · Affichages: 67
  • copiercoller.xls
    31 KB · Affichages: 71
  • copiercoller.xls
    31 KB · Affichages: 71
Dernière édition:

Tahititin

XLDnaute Occasionnel
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
 

Catrice

XLDnaute Barbatruc
Re : Fusion de données de plusieurs classeurs

Bonsoir toto_7711,

Ci-joint un exemple à adapter.
Cet exemple part du principe qu'il n'y a pas de ligne vide dans les données à compiler.
 

Pièces jointes

  • copiercoller.xls
    47.5 KB · Affichages: 86
  • copiercoller.xls
    47.5 KB · Affichages: 89
  • copiercoller.xls
    47.5 KB · Affichages: 96

toto_7711

XLDnaute Nouveau
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
 

toto_7711

XLDnaute Nouveau
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.
 

Discussions similaires

Réponses
10
Affichages
791

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly