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

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas