Enregistrer automatiquement sous.... vba exce

Résolu/Fermé
lindette Messages postés 38 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 23 octobre 2008 - 9 oct. 2007 à 22:48
 lindette - 11 oct. 2007 à 20:10
Bonjour,

Pour finaliser mon devis je colle mon pied de page sur ma feuille devis qui est de taille variable mais ensuite j'aimerais l'enregistrer dans un dossier clients sous lenom du client+numero de devis donc j'ai essauyé ce code :


"
Sub finalisation()
'
' finalisation Macro
' Macro enregistrée le 05/10/2007 par linda
'
' Touche de raccourci du clavier: Ctrl+f
'
'on recherche la dernière ligne de la colonne A de la feuille DEVIS
derli = Sheets("DEVIS").Columns(1).Find("*", , , , , xlPrevious).Row
'on cherche le multiple de 54
derli = Application.Ceiling(derli, 54)
'on colle
Sheets("piedpage").Range("A1:F800").Copy Sheets("DEVIS").Range("A" & derli + 1)
'on enregistre
SendKeys ThePath & Thefile + "C:\Documents and Setting\SM ALU\Mes documents\clients\" & Range("D11").Value & Range("B24").Value
ActiveWindow.selectsheets.Save
End Sub
"
mais j'ai une erreur au niveau de la ligne:
ActiveWindow.selectsheets.Save
Quelqu 'un aurait il une petite idée?
merci d'avance pour votre aide
Lindette
A voir également:

6 réponses

Papou93 Messages postés 146 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 5 juin 2012 59
9 oct. 2007 à 23:09
Bonsoir lindette,

Remplaces :

SendKeys ThePath & Thefile + "C:\Documents and Setting\SM ALU\Mes documents\clients\" & Range("D11").Value & Range("B24").Value 
ActiveWindow.selectsheets.Save 


par :

ActiveWorkbook.SaveAs Filename:=("C:\Documents and settings\SM ALU\Mes documents\clients\" & Range("D11").Value & Range("B24").Value)


Est-ce bien ce que tu voulais ?

Cordialement.
0
oh oui Papou exactement ... super super mais j'ai un autre probléme maintenant je voudrais trouver une solution pour incrémenter un numero de facture sachant que je n'enregistre pas les modifications sur mon classeur1 car il me sert de modéle, une petite solution pour moi sans vouloir abuser.....
merci d'avance
lindette
0
Papou93 Messages postés 146 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 5 juin 2012 59
10 oct. 2007 à 23:02
Je ne comprends pas bien ta raison : il me semble plus intéressant et surtout plus simple d'enregistrer tes numéros de factures dans ton classeur, en masquant la cellule ou la feuille qui les contient. Et surtout, ça simplifie l'incrémentation et permet d'utilser ton classeur sur différents postes, le modèle étant toujours à jour (pas de risques de doublons).
Sinon, il suffit d'enregistrer les factures dans un fichier (ou un classeur) mais celà complique la programmation.
Qu'en penses-tu ?

Cordialement.
0
lindette Messages postés 38 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 23 octobre 2008
10 oct. 2007 à 23:22
donc tu me suggére de mettre le numero de facture +1 sur la feuille colonne H par exemple mais comme je n'enregistre pas ce classeur à la fermeture j'aurais toujours le meme numero non?
cordialement
Linda
0

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

Posez votre question
Papou93 Messages postés 146 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 5 juin 2012 59
11 oct. 2007 à 09:28
Bonjour lindette,

Autant pour moi, le problème est plus complexe que mon cerveau fatigué de la nuit dernière ne me laissait supposer.
Mais par chance, pour toi, le problème a déjà été traité sur ce même forum : cliques sur le lien ci-dessous et tu sauras tout.

macro excel incrementer des numeros#0

Bonne lecture.

Cordialement.
0
Merci Papou je vais aller voir ça.
moi j'ai créér un autre classeur et j'ai fait une macro dans mon Classeur1 :
"
Sub RecupValeur()
Dim Val1
MsgBox ("taper controle + L pour incrémenter le numero de facture et ensuite contrôle + N pour le nom client")
' Touche de raccourci du clavier: Ctrl+ L
'Dim Resultat As Integer (pour un résultat en entier)
Workbooks.Open Filename:="C:\Documents and Settings\SM ALU\Mes Documents\numerofact.xls"
Val1 = Sheets("numero").[A1].Value
Resultat = Val1 + 1
Windows("Classeur1.xls").Activate
Sheets("DEVIS").Select
Sheets("DEVIS").[B23].Value = (Resultat)
Windows("numerofact.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
"

Et cela fonctionne bien mais je vais quand même aller voir le lien
j'avance petit à petit...
Merci encore
Cordialement
Lindette
0