Excel

Résolu
rem -  
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Pouvez-vous m'aider?
j'aimerais lorsque je clique sur un bouton, enregistrer directement ma feuille excel sur une autre feuille ( feuille 1 devient feuille 2) et j'aiemrais l'enregistrer sous le nom d'une cellule.
J ne sais pas si cela est possible?

Merci d'avance
cordialement
A voir également:

39 réponses

rem
 
Quand je fais le post 17 sa marche la premiere fois et aprés sa me dit: Microsfot office ne peut pas accéder au fichier.
Est-ce normal?
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
il y a bien la fonction Date et Time mais le problème c'est que ca enregistre avec des formats :
JJ/MM/YYYY et HH:MM:SS et le problème c'est que sur windows tu peut pas enregistrer avec des symboles ":" ou "/"
chez moi la macro fonctionne...
0
rem
 
Merci beaucoup pour votre aide, j'ai envfin reussi ce que je voulai avec le post 17.

Encore merci,

Cordialement.
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
Ou était le problème ??
0
rem
 
bé je crois que j'avais mal copier le code car j'ai fermé mon fichier et j'ai recommencé et ca a marché.
Cependant dans quel paramétre je dois toucher pour choisir la destination de l'enregistrment de mon fichier, car il se met automatiquement dans mes document mes moi j'aimerais le mettre dans un dossier spécifique...
0

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

Posez votre question
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
bonjour, deux solutions :
-1 tu connais le chemin et il est fixe dans ce cas :
With ActiveWorkbook.Sheets(1).Range("a1:a500")
    Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            ActiveSheet.SaveAs Filename:="C:\le chemin\" & c.Offset(1, 0).Value
                        Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    Else
    ActiveSheet.SaveAs Filename:="C:\le chemin\" & [A1]
    End If
End With
-2 il change et est dans une case dans ce cas:
ActiveSheet.SaveAs Filename:=[B1] & c.Offset(1, 0).Value
ActiveSheet.SaveAs Filename:=[B1] & [A1]
si le chemin se trouve dans la case B1
0
rem
 
Avec l'option B1 ca donnerais ca?

With ActiveWorkbook.Sheets(1).Range("a1:a500")
Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
ActiveSheet.SaveAs Filename:=[B1] & c.Offset(1, 0).Value
ActiveSheet.SaveAs Filename:=[B1] & [A1]
Loop While Not c Is Nothing And c.Address <> firstAddress
Else
ActiveSheet.SaveAs Filename:="C:\le chemin\" & [A1]
End If
End With-

Ca serait le top si cela fonctionne!
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
si tu choisi de placer le chemin d'enregistrement dans la case B1 il faut modifier tous les enregistrement. ce code devrait fonctionner :
With ActiveWorkbook.Sheets(1).Range("a1:a500")
    Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            ActiveSheet.SaveAs Filename:=[B1] & c.Offset(1, 0).Value
                        Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    Else
    ActiveSheet.SaveAs Filename:=[B1] & [A1]
    End If
End With
sans oublier que le chemin est du style : C:\....\
0
rem
 
quand je rentre mon chemin dans ce code la cela ne fonctionne pas:
ActiveSheet.SaveAs Filename:="C:\C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
c'est normale tu as deux fois C:\C:\ il faut en supprimer un:
ActiveSheet.SaveAs Filename:="C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
0
rem
 
Je vais fixer mon chemin ce serat plus simple, ca donne:
With ActiveWorkbook.Sheets(1).Range("a1:a500")
Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
ActiveSheet.SaveAs Filename:="C:\C:\Documents and Settings\f\Bureau\Remi\fiche\" & c.Offset(1, 0).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
Else
ActiveSheet.SaveAs Filename:="C:\C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
End If
End With

C'est ok?
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
normalement oui si tu applique la modif que je t'ais indiqué juste avant ^^
0
rem
 
voici le code:
Sub CommandButton1_QuandClic()
With ActiveWorkbook.Sheets(1).Range("a1:a500")
Set c = .Find(ActiveWorkbook.Name, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
ActiveSheet.SaveAs Filename:="C:\Documents and Settings\fBureau\Remi\fiche\" & c.Offset(1, 0).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
Else
ActiveSheet.SaveAs Filename:="C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
End If
End With
End Sub

Il me met en erreuir cette ligne:

ActiveSheet.SaveAs Filename:="C:\Documents and Settings\f\Bureau\Remi\fiche\" & [A1]
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
cher moi ca fonctionne, donc soit tu as mal recopier le code parce que je voi qu'il manque un "\" ici
ActiveSheet.SaveAs Filename:="C:\Documents and Settings\f\Bureau\Remi\fiche\" & c.Offset(1, 0).Value 
soit il n'y a rien dans les case d'enregistrement entre A1:A... soit le nom comporte un caractère indésirable comme [ , ] " ? ; : / \ ...
recopy le message d'erreur renvoyé
0
rem
 
Enfet moi quand je met ce code, ca me l'enregistre sous le nom de fiche or moi je veux que ca s'enregistre dans le dosier fiche!
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
bon envoie ton fichier ici http://www.cijoint.fr/index.php et colle le lien qui sera donné pour que je puisse voir ton fichier (enlève les donnée confidentielles avant).
0
rem
 
http://www.cijoint.fr/cjlink.php?file=cj200911/cij2196RiQ.xls
voici le lien moi j'aimerais que ce fichier s'enregistre dans un dosier que j'ai nommé fiche
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
alors plusieurs choses déja...quelle est la feuille enregistrée ? la feuil1 ?
ensuite ou sont les nom avec avec lesquel tu compte enregistrer ta feuille ? en A1 de la feuil2? parce que pour l'instant il prend les valeurs qui sont dans la feuil2 entre B1 et B500
With ActiveWorkbook.Sheets(1).Range("b1:b500")

et pour l'instant ca marche pas parce que voici l'endroit ou il voudrait enregistrer le fichier:
"C:\Documents and Settings\thaillot\Bureau\Remi" & [B1]
alors qu'il faudrai que ce soit qqch dans ce genre:
"C:\Documents and Settings\thaillot\Bureau\Remi\fiche\" & [B1]
0
rem
 
arrrrrrrrrrrrrr j'ai enversé feuil 1 et feuil 2, maintenant ca marche!!!
Désolé de vous avoir fait perdre du temps sur une erreur d'innatention.

Encore merci pour tout votre aide,
Cordialement.
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
bonne journée ^^
0
rem
 
Merci vous de même ^^
0
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
si je peut me permetre , est-ce que l'affichage de la formule dans la case A1 est impératif ... on peut s'en passer et enregistrer le fichier directement avec les champs concernés ...
ActiveSheet.SaveAs Filename:="C:\Documents and Settings\thaillot\Bureau\Remi\fiche\" & [D5] & [D7] & [D9] & [I5]
0