Copie onglet excel avec VBA

Résolu
ItzFolloWerS Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour,

Je viens vers vous car je rencontre un problème avec la copie d'un onglet Excel via VBA.

Je voudrais faire la copie d'un onglet nommé "Exploitations" présent sur un fichier Excel que j'ouvre systématiquement en 1er, pour le mettre à la fin d'un autre fichier Excel dit "Actif".

Le problème vient du fait que je ne peux pas mettre le nom d'un fichier précis pour la copie, puisque le fichier de destination n'aura jamais le même nom.

Je ne sais pas si je suis très clair, mais en gros je veux copier mon onglet d'un fichier ouvert en 1er à un ActivWorkbook.

J'ai essayé plein de méthode différente (que je ne comprends pas vraiment) comme vous pourrez voir ci-dessous :

    'Workbooks(1).Sheets(1)("exploitations").Copy After:=Workbooks.ActiveSheets(26)
    'Sheets(1)("exploitations").Select
    'Worksheets(1)("exploitations").Copy After:=ActiveWorkbooks.Sheets(26)
    'Sheets(1)("exploitations").Copy After:=Workbooks.Sheets(26)
    'Sheets(1)("Feuil1").Copy After:=Workbooks("Exemple.xlsm").Sheets(Workbooks("Exemple.xlsm").Sheets.Count)

Pourriez-vous m'éclairer s'il vous plaît ?

A voir également:

26 réponses

Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

Bonjour,

Question complémentaire. depuis quelle classeur vous déclencher la macro...!


0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

Bonjour,

Je suppose que ma question précédente est juste , donc essayer ceci : https://cjoint.com/c/MDzjbrJsKfZ


0
ItzFolloWerS Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

J'ai modifié la macro comme ci-dessous:

            nbsh = Workbooks(2).Sheets.Count

            
            Workbooks(1).Sheets("Exploitations").Copy After:=Workbooks(2).Sheets(nbsh)

Avec ça, j'ai pu avoir le résultat que je voulais.

0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

Bonjour,

Merci pour les réponses aux poste 21 et 22.

Concernant cette modification, ce n'est pas certain que cela fonctionne correctement si vous avez plus de 2 classeurs ouverts a vous de voir ! Qui sont les 

Workbooks(1) et Workbooks(2)

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ItzFolloWerS Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

Justement après vérifications, il y a déjà une macro plus haut qui s'occupe de vérifier s'il y a d'autre classeur d'ouvert.

Normalement, je ne devrais pas avoir de blocage !

Je vous remercie pour votre aide.

0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

Bonjour,

Merci, en marge il est toujours préférable d'avoir des codes précis, attention les recherche si une erreur se produit et pas toujours visible du premier coup.


0