13Hubert
XLDnaute Junior
Bonjour le forum,
J'ai un fichier que j'ai appelé "N" avec 3 colonnes "N", "N-1" et "N-2" qui contiennent chacune des données.
Je tente de créer une procédure VBA qui mènerait les actions suivantes :
Après un blabla à destination de l'utilisateur...
1/ par sécurité, enregistrer les dernières modifications apportées à "N",
2/ enregistrer mon fichier sous "N-1" en lecture seule recommandée,
3/ fermer "N-1",
4/ rouvrir "N",
5/ remplacer les données de la colonne "I" par les données de la colonne "H"
6/ remplacer les données de la colonne "H" par les données de la colonne "G"
7/ supprimer les données de la colonne "G"
Mais visiblement, ça merdouille à plusieurs endroits :
- pourquoi le fichier "N-1" est créé dans le dossier "Mes documents", alors que "N" est dans un dossier "Travail", sur mon bureau ? Je pensais qu'en ne spécifiant rien, le fichier serait créé dans le dossier initial de "N"...
- lorsque la procédure arrive à la réouverture de "N", celui-ci est introuvable et ça plante. Pourquoi ? Est-ce parce-qu'il est recherché dans "Mes documents" ? Dans ce cas, comment dire à VBA d'aller le chercher là où il était au début, c'est à dire dans mon dossier travail ?
- Si "N-1" existe déjà, si je réponds "Non" ou "Annulé" à la sollicitation de l'écraser, ça bugue...
Voilà où j'en suis après un mal de tête carabiné !
Certes, après que mes premiers problèmes soient réglés et que j'aie compris pourquoi, l'idéal et la finalité serait pour moi :
- dans ma procédure, aller chercher le nom initial du fichier (à la place de "N") car chaque utilisateur (12 utilisateurs !) a hélas nommé son ficher à SA convenance, et tous ne s'appellent plus "N"...
- pouvoir user d'une Msgbox pour que l'utilisateur puisse choisir le dossier et le nom du fichier d'enregistrement à la place de "N-1".
Alors c'est sur, si vous pouvez m'aider pour tout, ce serait génial. Mais déjà je serais vraiment ravi de comprendre pourquoi ce que j'ai fait jusqu'à présent plante !
Merci à tous pour votre aide.
PS : Ce coup-ci, je daigne mettre un fichier exemple...
J'ai un fichier que j'ai appelé "N" avec 3 colonnes "N", "N-1" et "N-2" qui contiennent chacune des données.
Je tente de créer une procédure VBA qui mènerait les actions suivantes :
Après un blabla à destination de l'utilisateur...
1/ par sécurité, enregistrer les dernières modifications apportées à "N",
2/ enregistrer mon fichier sous "N-1" en lecture seule recommandée,
3/ fermer "N-1",
4/ rouvrir "N",
5/ remplacer les données de la colonne "I" par les données de la colonne "H"
6/ remplacer les données de la colonne "H" par les données de la colonne "G"
7/ supprimer les données de la colonne "G"
Mais visiblement, ça merdouille à plusieurs endroits :
- pourquoi le fichier "N-1" est créé dans le dossier "Mes documents", alors que "N" est dans un dossier "Travail", sur mon bureau ? Je pensais qu'en ne spécifiant rien, le fichier serait créé dans le dossier initial de "N"...
- lorsque la procédure arrive à la réouverture de "N", celui-ci est introuvable et ça plante. Pourquoi ? Est-ce parce-qu'il est recherché dans "Mes documents" ? Dans ce cas, comment dire à VBA d'aller le chercher là où il était au début, c'est à dire dans mon dossier travail ?
- Si "N-1" existe déjà, si je réponds "Non" ou "Annulé" à la sollicitation de l'écraser, ça bugue...
Voilà où j'en suis après un mal de tête carabiné !
Certes, après que mes premiers problèmes soient réglés et que j'aie compris pourquoi, l'idéal et la finalité serait pour moi :
- dans ma procédure, aller chercher le nom initial du fichier (à la place de "N") car chaque utilisateur (12 utilisateurs !) a hélas nommé son ficher à SA convenance, et tous ne s'appellent plus "N"...
- pouvoir user d'une Msgbox pour que l'utilisateur puisse choisir le dossier et le nom du fichier d'enregistrement à la place de "N-1".
Alors c'est sur, si vous pouvez m'aider pour tout, ce serait génial. Mais déjà je serais vraiment ravi de comprendre pourquoi ce que j'ai fait jusqu'à présent plante !
Merci à tous pour votre aide.
PS : Ce coup-ci, je daigne mettre un fichier exemple...
Pièces jointes
Dernière édition: