Excel

Résolu/Fermé
rem - 26 nov. 2009 à 13:47
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 - 27 nov. 2009 à 11:55
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

39 réponses

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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
26 nov. 2009 à 18:42
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
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 10:07
Ou était le problème ??
0
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 10:35
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
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 10:53
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
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 11:01
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
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 11:02
normalement oui si tu applique la modif que je t'ais indiqué juste avant ^^
0
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 11:15
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
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 11:22
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
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 11:42
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
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 11:47
bonne journée ^^
0
Merci vous de même ^^
0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
27 nov. 2009 à 11:55
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