• Initiateur de la discussion Initiateur de la discussion Geely
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Geely

XLDnaute Occasionnel
Bonjour à tous.
Je me démarre dans Excel et les débuts sont laborieux, mais bon il faut bien commencer un jour.
Je souhaite lancer une macro qui ouvre un nouveau fichier avec le nom d'une cellule de mon fichier actif (sur lequel je lance la macro) par contre si le fichier existe deja la macro ouvre simplement le fichier.

La macro ouvre le fichier avec le nom de ma cellule A1 si il existe
si il n'existe pas il ouvre un fichier "reference" le renomme avec le nom de la cellule A1
je ne sais pas si cela est très claire mais exposer son problème c'est deja un pas dans la bonne direction
Geely
 
Re : creation fichier

Bonjour Geely,
Tous les fichiers (fichier actif, référence, fichier créé) se retrouvent dans le même dossier ? Sinon il faudrait connaître les différents chemins d'accès.
Merci de confirmer.
A+
 
Re : creation fichier

Bonjour Job75
Mon fichier actif se trouve dans c:\carnet\
et le fichier référence et les fichiers crées dans c:\carnet\sta\

mon fichier actif posséde une liste de numéros de série de machine avec les noms de client etc
je lance une macro sur chaque client, La macro ouvre le fichier avec le nom de ma cellule qui compote le numéro de série si il existe
si il n'existe pas il ouvre un fichier "reference" le renomme avec le numero de serie.

pas simple a expliquer
@+
 
Re : creation fichier

Re,

Voici une macro qui se lance par un bouton. Elle est donc à placer dans le code de la feuille où se trouve le bouton.

Le nom du fichier est à entrer dans la cellule A1 de la même feuille (sans l'extension .xls).

Code:
Private Sub CommandButton1_Click()
Dim nom, chemin, fichier As String
On Error Resume Next
nom = ActiveWorkbook.Name
chemin = "c:\carnet\sta\"
fichier = [A1].Value & ".xls"
Workbooks.Open Filename:=chemin & fichier
Workbooks(fichier).Activate
If nom = ActiveWorkbook.Name Then
Workbooks.Open Filename:=chemin & "reference.xls"
Workbooks("reference.xls").SaveAs Filename:=chemin & fichier
End If
Windows(fichier).Visible = True
End Sub

Il faudra sans doute l'adapter à la macro que vous utilisez déjà.

A+
 
Dernière édition:
Re : creation fichier

Impeccable Job75
Çà fonctionne plutôt bien.
L'avantage, 'est que si je déplace ma liste dans un ordre différent je retrouve mon fichier qui porte le numéro de série donc super. merci pour l'aide.

une autre question : est il possible de récupérer l'adresse du client qui se trouve dans le fichier (celui d'où la macro est lancée) pour le mettre dans le fichier créé
un grand merci pour la première solution
 
Re : creation fichier

Re,

est il possible de récupérer l'adresse du client qui se trouve dans le fichier (celui d'où la macro est lancée) pour le mettre dans le fichier créé

A priori, difficile de répondre sans connaître le fichier.

Je dirais qu'il faut récupérer le nom du client (par une formule avec RECHERCHEV) dans une cellule, par exemple A2. Ensuite l'introduire dans le fichier créé dans une cellule, par exemple A3 de la 1ère feuille.

Pour cela, il suffit de modifier la macro (en rouge) :

Code:
Private Sub CommandButton1_Click()
Dim nom, chemin, fichier, [COLOR="Red"]client[/COLOR] As String
On Error Resume Next
nom = ActiveWorkbook.Name
chemin = "c:\carnet\sta\"
fichier = [A1].Value & ".xls"
[COLOR="Red"]client = [A2].Value[/COLOR]
Workbooks.Open Filename:=chemin & fichier
Workbooks(fichier).Activate
If nom = ActiveWorkbook.Name Then
Workbooks.Open Filename:=chemin & "reference.xls"
[COLOR="Red"]Workbooks("reference.xls").Sheets(1).Range("A3").Value = client[/COLOR]
Workbooks("reference.xls").SaveAs Filename:=chemin & fichier
End If
Windows(fichier).Visible = True
End Sub

Bonne fin de soirée et A+
 
Re : creation fichier

Bonjour
J'ai modifié la macro, mais cela ne semble pas fonctionner.
le nom du client est a récupérer dans mon fichier du début (preventive) celui où je lance la macro.
La solution que vous m'aviez donné ouvre bien un nouveau fichier qui porte le numéro de série. mais je souhaiterai y reporté les coordonnées client, la modif de la macro (en rouge) est sans effet
@+
 
Re : creation fichier

Re,

Une petite correction
Cela fonctionne uniquement si le fichier (avec le numéro de série) n'existe pas.
Si il est deja présent il ne va pas chercher la valeur
@+

Bien sûr, car je pensais que cette valeur A3 ne serait pas modifiée après la création du fichier...
Si vous voulez qu'elle s'inscrive à chaque fois (pourquoi ?), modifier comme suit :

Code:
Private Sub CommandButton1_Click()
Dim nom, chemin, fichier, client As String
On Error Resume Next
nom = ActiveWorkbook.Name
chemin = "c:\carnet\sta\"
fichier = [A1].Value & ".xls"
client = [A2].Value
Workbooks.Open Filename:=chemin & fichier
Workbooks(fichier).Activate
If nom = ActiveWorkbook.Name Then
Workbooks.Open Filename:=chemin & "reference.xls"
Workbooks("reference.xls").SaveAs Filename:=chemin & fichier
End If
Windows(fichier).Visible = True
[COLOR="Red"]Workbooks(fichier).Sheets(1).Range("A3").Value = client[/COLOR]
End Sub

A+

Edit : OK, je comprends que vous voulez renseigner les feuilles déjà créées
 
Dernière édition:
Re : creation fichier

Bonjour Job75
Une petite question:
Sur mon PC pas de problème (Excel 2002)
Sur mon portable (Excel 2003) j'ai le message:"reference.xls est deja ouvert. si vous l'ouvrez à nouveau etc etc..."
alors que le fichier n'est pas ouvert
Je ne sais pas pourquoi.
 
Re : creation fichier

Bonjour Geely,

Ce message apparaît quand le fichier est déjà ouvert et qu'il a été l'objet de modifications non enregistrées.

Il est probable donc que le fichier est ouvert, mais que la fenêtre est masquée (voir menu Fenêtre-Afficher).

Merci de nous tenir au courant

A+
 
Re : creation fichier

Re
Le message apparaît que sur le portable, et c'est le même fichier.
je n'ai aucune fenêtre masquée
Étrange.

Sur le portable quand j'ouvre un fichier (peu importe le fichier) j'ai une fenetre avec le message suivant:"Windows ne trouve pas c:\fichier.xls Vérifier que vous avez entré le nom correctement et essayer à nouveau. Pour rechercher etc etc"
je clic sur OK le fichier est bien ouvert
A mon avis c'est peut etre lié (problème dans la selection "option des dossiers/types de fichiers")
A+
 
Re : creation fichier

Je n'ai plus le message Windows, en allant dans Outils/Option/général/ et en décochant ignorer les autres applications

par contre, j'ai le message:"principal.xls est deja ouvert. si vous l'ouvrez à nouveau etc etc..." alors que le fichier n'est pas ouvert des l'ouverture de mon fichier


A+
 
Dernière édition:
Re : creation fichier

Bonsoir,
Je ne vois pas d'où viennent ces problèmes, mais vous allez sûrement trouver.
- le message <reference.xls est deja ouvert> ne peut apparaître que si le fichier est déjà ouvert
- vérifier que sur le portable le chemin d'accès est le même que sur l'autre ordi.
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
258
Réponses
43
Affichages
818
Retour