EXCEL

Résolu
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007 - 12 sept. 2007 à 14:21
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007 - 13 sept. 2007 à 10:20
bonjour

je cherche un petit prog pour pouvoir enregistrer un fichier à un emplacement voulu et avec comme nom de fichier une donnée d'une céllule du meme fichier

est-ce possible ???

merci d'avance...

22 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 sept. 2007 à 15:56
Salut,
essaie ceci

Dim WbToSave As Workbook
Dim NomFichier As String
   'Imaginons que A1 = DC_07_001
   NomFichier = "C:\" & ActiveSheet.Range("A1") & ".xls" 'Comme le proposais JM247L
   
   Set WbToSave = Application.Workbooks.Add
   Call WbToSave.SaveAs(NomFichier)
   Call WbToSave.Close(True)
   
   Set WbToSave = Nothing , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
3
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
12 sept. 2007 à 14:31
Bonjour,
? As tu essayé en enregistrement de macro puis remplacement du path et nom de fichier par des variables dont l'une contiendrait le contenu dune cellule en tant que nom de fichier
Voire même demander à l'utilisateur de saisr le path dans un inpubox
Cliquons "Réponse Acceptée" quand c'est le cas
JML. Partageons notre savoir et nos acquis
0
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
12 sept. 2007 à 14:33
hello

j'ai effectivement enregistrer une macro mais j'aimerai que le programme cherche le nom du fichier dans une cellule spécifique...

c'est possible ??

merci d'avance
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
12 sept. 2007 à 14:50
Salut, j'avais trouvé ça il y a quelques temps sur le site:

Sub ecritureFichier()Const ForReading 1, ForWriting 2, ForAppending = 3
'création d'un objet FileSystemObject et ouverture du fichier dans lequel écrire
Dim objetfile, fichier
Set objetfile = CreateObject("Scripting.FileSystemObject")
Set fichier = objetfile.OpenTextFile("C:\ecrire.txt", ForWriting)
'on se place en A1 de la feuille EcritureFichier
Worksheets("EcritureFichier").Activate
Range("A1").Activate
'on boucle pour écrire ligne par ligne ce qu'il y a dans la colonne A
Do While ActiveCell.Value <> ""
    fichier.WriteLine (ActiveCell.Value)
    ActiveCell.Offset(1, 0).Activate
Loop
fichier.Close
End Sub


Je n'ai pas testé pour ton cas mais il me semble que si tu remplaces "C:\ecrire.txt" par une variable dans laquelle tu auras préalablement chargé le chemin inscit dans ta cellule, ça devrait fonctionner.

IMPORTANT: Le fichier doit exister au préalable.

@+

Tubafat  
Avant d'imprimer, pensez à l'environnement
0

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

Posez votre question
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
12 sept. 2007 à 14:57
il me faut etre plus précis

le fichier que j'ouvre est un model EXCEL avec des données provenant d'une autre feuille

le programme dois prendre comme designation, le texte dans une cellule spécifique et l'enregistrer à l'emplacement que je prevoirai et le fermer...

mais ton prog. ne marche pas
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 sept. 2007 à 15:24
Salut,
Le text contenu dans la cellule représente quoi comme type de fichier????

@+: Ju£i?n
Pensez: Réponse acceptée
0
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
12 sept. 2007 à 15:27
la cellule comporte du texte du style

DC_07_001

reference qui vient d'une autre feuille

l'enregistrement doit aller chercher ces infos dans cette cellule car le N° change...
l'enregister à un emplacement specifique.

le fichier qui sert à l'enregistrement est un fichier model XLT
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 sept. 2007 à 15:38
Re,
Oui mais le FIchier destination à sauvegarder doit être de quel type car, on ne fera pas la meme chose si c'est un .txt ou si c'et un .Xls. Tu vois ce que je  veux dire?

@+: Ju£i?n
Pensez: Réponse acceptée
0
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
12 sept. 2007 à 15:38
MonFichier= Cells(NUmLigne,NumColonne)
MonRepertoire = "Chaine A Définir"
Activeworkbooks.SaveAs "C:" & MonRepertoire & "" & Monchier

Cliquons "Réponse Acceptée" quand c'est le cas
JML. Partageons notre savoir et nos acquis
0
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
12 sept. 2007 à 15:39
MonFichier= Cells(NUmLigne,NumColonne) & ".xls"

Cliquons "Réponse Acceptée" quand c'est le cas
JML. Partageons notre savoir et nos acquis
0
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
12 sept. 2007 à 15:42
ça devra etre un XLS
0
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
12 sept. 2007 à 15:54
Private Sub CommandButton1_Click()
MonFichier = Cells(3, 6) & ".xls"
MonRepertoire = "Documents and Settings\Bureau\essais"


Activeworkbooks.SaveAs "C:" & MonRepertoire & "" & MonFichier


End Sub

voici mon prog mais la ligne active.... se met en erreur ???

est ce que Cells(3,6) est ecrit correctement (cellule F3 dans excel) ??

merci encore
0
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
12 sept. 2007 à 15:59
merci à vous
je vous tiendrai au courant demain matin...

bonne soirée et merci encore
0
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
12 sept. 2007 à 17:21
Je suis un peu perdu ... pourquoi  lui faire créer un nouveau fichier alors qu'il veut enregistrer le fichier actif sous un nom contenu dans une cellule de ce fichier ?
Au cas ou j'aurai bien compris le besoin, je proposerai ceci

Sub CommandButton1_Click()
' IMPORTANT _
   Sélectionner la cellule contenant le nom qu'aura le fichier avant de cliquer sur le bouton
 On Error Resume Next  ' Afin de traiter directement les cas d'erreur détaillés en rouge ci-dessous
  Err.Clear
  ActiveWorkbook.SaveAs InputBox("Saisir le répertoire", "ENREGISTREMENT DU FICHIER '" & ActiveCell & ".xls'", ActiveWorkbook.Path & "" & ActiveCell & ".xls")
  If Err <> 0 Then
' Cas ou : _
    Les info saisies dans l'InputBox ne sont pas correctes ... "Répertoire inexistant _
    L'utilisateur a cliqué sur le bouton "Annuler" de l'InputBox _
    L'utilisateur a répondu "Non" à l'invite de remplacement du fichier dans le cas de fichier déjà existant
    MsgBox "Le fichier n'a pas été enregistré !!!" & vbCrLf & _
           "Corriger si nécessaire et relancer le processus", _
           vbOKOnly + vbCritical, "ENREGISTREMENT DU FICHIER '" & ActiveCell & ".xls'"
    Exit Sub
  End If
End Sub

Cliquons "Réponse Acceptée" quand c'est le cas
JML. Partageons notre savoir et nos acquis
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 sept. 2007 à 08:05
Salut,
>[auteurdetail.aspx?ID=1017721 JM247L]: Effectivement C'est ma libre interprétation qui m'a fait supposer qu'il voulias créeer un nouveau fichier.

@+: Ju£i?n
Pensez: Réponse acceptée
0
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
13 sept. 2007 à 08:08
bonjour à tous

je suis le monsieur de hier....

le prog fonctionne mais il creer un nouveau fichier... ce n'est pas ce que je veux...
il dois prendre le fichier ouvert et l'enregistrer sous un nom différent...

merci d'avance..
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 sept. 2007 à 08:12
Re,

Ce code doit être dans le classeur à sauver.

Dim NomFichier As String
   'Imaginons que A1 = DC_07_001
   NomFichier = "C:" & ActiveSheet.Range("A1") & ".xls" 'Comme le proposais JM247L
   
   Call ActiveWorkBook.SaveAs(NomFichier)
  
   
  

@+: Ju£i?n
Pensez: Réponse acceptée
0
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
13 sept. 2007 à 08:18
c'est encore moi

désolé mais il creer toujours un EXCEL VIERGE...
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 sept. 2007 à 08:22
Re,
Est ce le classeur modèle qui doit sauver les le classeur actif contenant les données?

@+: Ju£i?n
Pensez: Réponse acceptée
0
ddth67 Messages postés 25 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
13 sept. 2007 à 08:27
1) le fichier XLT contient les données et c'est celui-ci qui dois servir de base pour la fichier à enregistrer...
Le nom se trouve dans une cellule

2) est-il possible de se retrouver dans le fichier enregistrer ??
0
Rejoignez-nous