XL 2010 copier une plage en VBA vers une autre feuille

ACPc

XLDnaute Nouveau
Bonjour, je cherche un code VBA pour pouvoir copier une plage de données d'une feuille excel automatiquement vers une autre feuille. J'ai plusieurs onglet avec des tableau et j'aimerais créer une feuille "récapitulatif" regroupant les différents tableaux qui m’intéressent. Il faudrait en plus une condition "se coller en dessous des données précédente" a moins que cela se fasse automatiquement.
Je joins également le fichier excel afin de mieux comprendre. Par exemple si on va sur la feuille "enrobé", je voudrais avoir un bouton ou je pourrais cliquer et qui copie automatiquement les valeurs des cellules B10 a H14 sur la feuille "Global"

merci d'avance pour votre aide !
 

Pièces jointes

  • programmation de la maintenance BRAGARD.xlsx
    421.6 KB · Affichages: 20

zebanx

XLDnaute Accro
Re-

Serait-ce le nombre d'onglets qui a effrayé les répondeurs ?
A moins que ce ne soit de traiter des cellules fusionnées (et oui, que c'est..:mad:)

Bref, un essai

Quelques remarques :
1. Un bouton est placé sur GLOBAL pour faire un RESET
2. Le bouton GO jaune est placé en C8 sur la feuille ENROBEE. Ce bouton appelant la macro d'insertion des données sur la dernière ligne dans la feuille global.
3. Si vous souhaitez dupliquez ce bouton JAUNE plusieurs fois, il faut modifier l'instruction suivante dans le module qui contient cette macro.
Ca c'est votre partie.

Bon apm.

VB:
Sub copy_shape_go()
Dim s%
Set shg = Sheets("enrobé")
shg.Activate
ActiveSheet.Shapes("AutoShape 1").Select
ActiveSheet.Shapes("AutoShape 1").Copy
For s = 6 To 10   '-- dernier chiffre à modifier suivant les besoins
Sheets(s).Activate
Range("C8").Select
ActiveSheet.Paste
Next s
End Sub

Sinon, quand on gère énormément de fichier, petite astuce avec un click droit sur les flèches en bas à gauche qui permettent de naviguer.

1034153
 

Pièces jointes

  • programmation de la maintenance 1.xlsm
    450 KB · Affichages: 46
Dernière édition:

ACPc

XLDnaute Nouveau
Re-

Serait-ce le nombre d'onglets qui a effrayé les répondeurs ?
A moins que ce ne soit de traiter des cellules fusionnées (et oui, que c'est..:mad:)

Bref, un essai

Quelques remarques :
1. Un bouton est placé sur GLOBAL pour faire un RESET
2. Le bouton GO jaune sur chaque feuilles comprises entre les feuilles 5 (enrobé) à 10 appelle la même macro pour copier dans GLOBAL.
3. Si vous souhaitez dupliquez ce bouton plusieurs fois, il faut modifier l'instruction suivante dans le module qui contient cette macro.
Ca c'est votre partie.

Bon apm.

VB:
Sub copy_shape_go()
Dim s%
Set shg = Sheets("enrobé")
shg.Activate
ActiveSheet.Shapes("AutoShape 1").Select
ActiveSheet.Shapes("AutoShape 1").Copy
For s = 6 To 10   '-- dernier chiffre à modifier suivant les besoins
Sheets(s).Activate
Range("C8").Select
ActiveSheet.Paste
Next s
End Sub

Sinon, quand on gère énormément de fichier, petite astuce avec un click droit sur les flèches en bas à gauche qui permettent de naviguer.

Regarde la pièce jointe 1034153


Oui effectivement, je sais que ce que j'ai fait n'est certainement pas très "académique" :( je ne suis pas forcément très doué pour excel et votre aide est vraiment précieuse. Je sais que le très grand nombre d'onglet fait peur effectivement.
Je vous remercie vraiment pour votre aide et tout ce que vous avez déjà fait, c'est déjà plus que ce que j'espérais!

Merci également pour tous vos conseils, je vais essayer de faire ce que vous m'avez expliqué, je vous remercie encore et vous souhaite une bonne journée
 

zebanx

XLDnaute Accro
@ACPc

Vu que vous gérez de la "masse", il faudrait penser peut-être à quelque chose comme :
- centraliser sur une feuille la liste de toutes les feuilles (ie : sheets.name). Là c'est facile de trouver un code pour toutes les recenser d'un coup.
- sélectionner dans une autre colonne les feuilles qui vous intéresse (choix "V" / "X")
- faire une boucle pour lancer la macro de copie dans "global" à partir de cette feuille.

Quand il y a <10 onglets, c'est gérable de le faire par bouton.
Quand on atteint le nombre de feuilles de votre fichier, c'est à considérer.

Si c'est le cas, n'hésitez pas à le demander.

Bonne journée également.
zebanx

edit : plus dérangé par les cellules "fusionnées" que par le nombre d'onglets. (Mais ça m'a fait bosser et c'est utile :cool: ).
 

ACPc

XLDnaute Nouveau
@ACPc

Vu que vous gérez de la "masse", il faudrait penser peut-être à quelque chose comme :
- centraliser sur une feuille la liste de toutes les feuilles (ie : sheets.name). Là c'est facile de trouver un code pour toutes les recenser d'un coup.
- sélectionner dans une autre colonne les feuilles qui vous intéresse (choix "V" / "X")
- faire une boucle pour lancer la macro de copie dans "global" à partir de cette feuille.

Quand il y a <10 onglets, c'est gérable de le faire par bouton.
Quand on atteint le nombre de feuilles de votre fichier, c'est à considérer.

Si c'est le cas, n'hésitez pas à le demander.

Bonne journée également.
zebanx

edit : plus dérangé par les cellules "fusionnées" que par le nombre d'onglets. (Mais ça m'a fait bosser et c'est utile :cool: ).


Pourriez-vous m'expliquer à quoi sert la partie à modifier dans la macro? Car quand je copie/colle simplement le bouton jaune GO cela continue de marcher parfaitement

Ce que vous proposez à l'air très bien et rendrait certainement plus lisible et plus simple d'utilisation le fichier! Mais je ne veux pas non plus user de votre gentillesse car cela doit prendre un peu de temps à faire..

En tout cas je vous remercie encore pour votre gentillesse et le temps que vous me consacrez, soyez en sur que ce que vous avez pour moi m'est très utile! :)
 

zebanx

XLDnaute Accro
Re-

Retour sur les éléments évoqués

1. Sur une liste complète des feuilles et un choix des feuilles à intégrer ou non dans Global
- 3 shapes liées à des macros
- RESET pour tout supprimer colonne A à D
- Liste des Feuilles pour avoir... la liste des feuilles
- CopyGlobal pour copier uniquement les feuilles pour lesquelles on a mis "oui"

2. Sur l'utilité des Shape.
Ca m'a donné envie de faire un fichier là-dessus.
Là aussi, c'est détaillé et je l'espère compréhensible.
C'est fastidieux de copier 50 ou 100 fois la même shape sur l'ensemble des feuilles quand une boucle peut le faire.
Et peut tout autant les supprimer.

Bonne fin de journée
zebanx
 

Pièces jointes

  • programmation de la maintenance 1.xlsm
    490.5 KB · Affichages: 27
  • Shape(s).xlsm
    37.8 KB · Affichages: 17

ACPc

XLDnaute Nouveau
Re-

Retour sur les éléments évoqués

1. Sur une liste complète des feuilles et un choix des feuilles à intégrer ou non dans Global
- 3 shapes liées à des macros
- RESET pour tout supprimer colonne A à D
- Liste des Feuilles pour avoir... la liste des feuilles
- CopyGlobal pour copier uniquement les feuilles pour lesquelles on a mis "oui"

2. Sur l'utilité des Shape.
Ca m'a donné envie de faire un fichier là-dessus.
Là aussi, c'est détaillé et je l'espère compréhensible.
C'est fastidieux de copier 50 ou 100 fois la même shape sur l'ensemble des feuilles quand une boucle peut le faire.
Et peut tout autant les supprimer.

Bonne fin de journée
zebanx


Effectivement ce que vous proposez est vraiment super intéressant, cela serait plus rapide et moins fastidieux de tout trier et je ne serais pus obligé de répéter plein de fois la même opération. Si vous savez le faire cela serait super, mais comme dis précédemment je ne veux pas user de votre générosité, vu les services que vous m'avez déjà rendu.

Bonne fin de journée également, merci du temps consacré et pour l'aide
Cordialement

ACPc
 

ACPc

XLDnaute Nouveau
Re-

Retour sur les éléments évoqués

1. Sur une liste complète des feuilles et un choix des feuilles à intégrer ou non dans Global
- 3 shapes liées à des macros
- RESET pour tout supprimer colonne A à D
- Liste des Feuilles pour avoir... la liste des feuilles
- CopyGlobal pour copier uniquement les feuilles pour lesquelles on a mis "oui"

2. Sur l'utilité des Shape.
Ca m'a donné envie de faire un fichier là-dessus.
Là aussi, c'est détaillé et je l'espère compréhensible.
C'est fastidieux de copier 50 ou 100 fois la même shape sur l'ensemble des feuilles quand une boucle peut le faire.
Et peut tout autant les supprimer.

Bonne fin de journée
zebanx

Bonjour zebanx,

je n'avais meme pas vu les fichiers que vous aviez joins hier ! vous avez été super rapide! vraiment c'est super mille fois merci pour votre aide
 

zebanx

XLDnaute Accro
Bonjour Acpc

Petite coquille dans le fichier Shape(s). Pour changer le nom d'un Shape, il ne faut pas aller dans la barre de formule mais :la barre de nom.

Après, une petite suggestion par rapport à l'impressionnante liste de tableaux mais qui présentent pour beaucoup une structure identique :

- Les appeler sur une feuille standard
- Passer les modifications
- Incorporer le tout au fichier "global" comme demandé.

Peut-être avez-vous besoin d'avoir une trace de chaque saisie de tableaux pour un seul client. Dans ce cas, mieux vaut conserver votre structure actuelle.
Mais si ce ne sont que des tableaux "tampons", ça peut avoir de l'intérêt.
Assez de parlotte, regardez le fichier.

@+
zebanx
 

Pièces jointes

  • copy classeur.xlsm
    30.1 KB · Affichages: 18

ACPc

XLDnaute Nouveau
Bonjour Acpc

Petite coquille dans le fichier Shape(s). Pour changer le nom d'un Shape, il ne faut pas aller dans la barre de formule mais :la barre de nom.

Après, une petite suggestion par rapport à l'impressionnante liste de tableaux mais qui présentent pour beaucoup une structure identique :

- Les appeler sur une feuille standard
- Passer les modifications
- Incorporer le tout au fichier "global" comme demandé.

Peut-être avez-vous besoin d'avoir une trace de chaque saisie de tableaux pour un seul client. Dans ce cas, mieux vaut conserver votre structure actuelle.
Mais si ce ne sont que des tableaux "tampons", ça peut avoir de l'intérêt.
Assez de parlotte, regardez le fichier.

@+
zebanx

En fait le but de se fichier et de créer une liste d'opération de maintenance a réaliser sur des bâtiments. Le fichier de base regroupe toutes les données de maintenance possible pour chaque ouvrages d'une construction. Seulement, selon le bâtiment les interventions de maintenance peuvent être différente (par exemple pas d'enrobé donc pas de maintenance a effectuer), c'est la que c'est intéressant pour moi de pouvoir choisir comme vous l'avez fait sur le fichier précédent en mettant oui ou non ( pour signifier si je suis concerné ou non). Ensuite je récapitule la liste des interventions sur une page que (donc l'onglet GLOBAL" que vous avez créer) que servira de base a transmettre au client. L’intérêt d'avoir également chaque tableaux séparés et de pouvoir le modifier en rajoutant des informations facilement, mais aussi accéder facilement au données d'un ouvrage (donc d'un tableau) sans avoir a faire dérouler les plus de 100 tableaux a la suite pour trouver celui qui nous intéresse.

Je ne sais pas si mes explications vont être très claires, mais le fichier que vous m'avez transmis (ou je peux choisir avec oui ou non) est vraiment intéressant pour moi car je ne suis pas obliger d'aller sur chaque feuille une par une.
Je vais effectuer quelque modification (de mise en page surtout) en espérant que cela continue a faire marcher la macro, si j'ai quelque soucis j’espère pouvoir revenir vers vous sans trop vous déranger.

@+ et merci de votre disponibilité :)
ACPc
 

zebanx

XLDnaute Accro
Re-

Oui, quand vous aurez un moment, incorporez une trentraine de tableaux et vérifier que cela fonctionne bien.
Il est par contre nécessaire de laisser une ligne vide entre chaque tableau dans la feuille "tbx" (car le currentregion se limitera au tableau recherché)

Ci-joint donc sur cette version de travail le fichier en #12 avec la feuille global (et le bouton GO JAUNE pour intégrer les données).

Il faut que cela soit fluide, bien évidemment. Donc c'est à l'usage qu'on voit si ça vaut la peine ou pas.

xl-ment
 

Pièces jointes

  • copy classeur.xlsm
    43.5 KB · Affichages: 15

ACPc

XLDnaute Nouveau
Bonjour zebanx !

Voici les modifications que j'ai pus effectuer au fichier que vous m'avez envoyer mais j'aurais encore quelque petite question, si bien évidement vous avez le temps. En ce qui concerne le bouton pour recréer la liste de feuilles, étant amener a pouvoir rajouter de nouveaux tableau (et oui encore de potentiel nouvelle feuille en plus.. :rolleyes:) c'est vraiment très utiles pour pouvoir recréer le "sommaire". Seulement lorsque je reset pour recréer la liste la case ou il y a marquer "index" et celle ou j'ai écrit "référentiel des taches a effectuer" sont remplacer respectivement par un 2 et un 1. De plus ayant intégrer des liens hyper texte a chaque ligne du sommaire (ex en cliquant sur enrobée cela m’emmène sur le tableau enrobée) si je suis amener a rajouter une ligne a mon sommaire cela décale les liens hyper texte. De plus,lorsqu'un tableau est copier, est-il possible de copier également le "trie" qu'il y a sur le tableau de base ?

Pour le reste, j'ai juste rajouter une liste déroulante pour choisir entre "oui" et "non", rajouter des liens hyper texte sous forme de bouton pour pouvoir aller du sommaire (que vous aviez appelé sheetlist) a la feuille global. Et il y avait peut être d'autre moyen plus académique mais pour avoir la catégorie a laquelle appartiens un ouvrage j'ai rajouter des feuilles juste pour que les titres apparaissent (ex pour que VRD apparaissent au dessus du tableau enrobé)

J’espère que vous pourrez encore m'aider a répondre a ses problématiques et si vous avez encore de super idées n'hésitez. Je vous remercie par avance et j’espère avoir été clair dans mes explications.

Aller assez parler je vous joins le, fichier et bonne soirée a vous ! :)

ACPc
 

Pièces jointes

  • programmation de la maintenance 1 (1).xlsm
    471.4 KB · Affichages: 23

Discussions similaires