modification chemin onglet dans macro

dedef

XLDnaute Occasionnel
Bonjour,

Je suis amené à modifier, sur un point que me paraît simple, une macro que je n'ai pas écrite.
Le principe de la macro est le suivant :
  1. on définit le chemin d'accès aux différents fichiers à traiter : Dim chemin As String
  2. on déclare des chaînes de caractères qui contiendront le nom des fichiers auxquels il est nécessaire d'accéder, il y en a une douzaine, par exemple Dim fichier_a As String
  3. on affecte les noms des fichiers aux variables de type "String" crées précédemment, par exemple fichier_a = "a.xlsx"
  4. on ouvre les fichiers au travers d'une subroutine :
    Sub S_ouvrir_fichier(fichier_ouvert As String)
    ' Cette fonction ouvre le fichier qui est passé en paramètre, peu importe son format

    Workbooks.Open Filename:=chemin & "\" & fichier_ouvert

Les 12 fichiers ne comportent chacun qu'un seul onglet, qui a par ailleurs systématiquement le même nom, par exemple "machin".
C'est là que j'ai le problème, car pour un des fichiers, je suis amené à créer un deuxième onglet, machin_2 qui va prendre ses valeurs sur l'onglet machin.

A partir de là 2 solutions :
  1. je fais un copier/coller valeur de l'onglet machin_2, je supprime machin et je renomme machin_2 en machin (via une macro)
  2. je laisse les 2 onglets, mais il faut alors que la macro, pour le seul fichier a pointe sur l'onglet machin_2

Cette deuxième solution est-elle possible simplement à partir des quelques éléments que je vous ai donnés?

Merci d'avance.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : modification chemin onglet dans macro

Bonjour Dedef, bonjour le forum,

Non c'est pas du tout comme ça qu'il faut faire ! Tu renommes le chemin en Bidule_truc_machin_mes... et là tu crées un troisième onglet que tu vas renommer truc_bidule mais que tu vas supprimer en même tant que machin_truc...

Non, plus sérieusement. Tu penses pas que si tu avais mis le code en plus de tes explications ça serait plus clair pour tout le monde ?
 

Dormeur74

XLDnaute Occasionnel
Re : modification chemin onglet dans macro

Je pense avoir à peu près compris sans avoir eu besoin de voir ce que tu as fait.

Ta soluce 1 est à proscrire, car c'est un coup à tout perdre si après avoir renommé un onglet tu as une coupure d'électricité et pas d'onduleur pour assurer = fichier corrompu.

Donc voici le scénario que j'adopterais :
- sauvegarde du fichier Excel qu'on va manipuler avec l'extension ".tmp"
- lecture (sans affichage avec gestion d'erreur) du fichier temporaire pour s'assurer de son intégrité
- ajout d'une feuille temporaire
- copie de la feuille2 dans la feuille temporaire
- copie de la feuille1 dans le feuille2
- copie de la feuille temporaire dans la feuille1
- suppression de la feuille temporaire
 

Discussions similaires

Réponses
4
Affichages
491

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou