Enregistrer sous numéro généré dans une cellule

Signaler
Messages postés
12
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
23 juin 2009
-
Messages postés
12
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
23 juin 2009
-
Bonjour, je vous explique d'abord ce que je veux...
Grâce à une macro, un numéro est automatiquement généré c'est à dire le précédent plus 1. Afin d'avoir un numéro de facturation nouveau... Bref, j'aimerai faire une macro qui enregistre le document sous le numéro de facture... Je ne m'y connais pas vraiment... Je sais faire quelques macros, mais pas celle là... J'ai essayé de faire un copier coller, puis ficher enregistrer sous, coller et enregistrer. Mais si je change de numéro et que j'essaie d'exécuter la macro il revient au numéro avec lequel j'ai enregistré la macro. J'ai cherché sur le net mais je n'ai pas pu trouvé quelque chose de suffisamment bien expliqué pour moi ou alors ça ne répondait pas exactement à ce que j'avais besoin.

Quelqu'un pourrait-il m'aider svp?

Merci d'avance.

Bonne journée à tous

5 réponses

Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonjour,

C'est vraiment du VB.NET ou Excel ?...

Je penche pour Excel... On voit bien ce que tu veux, mais si tu donnes un bout de code cela serait plus facile de répondre... La valeur de numéro est-elle dans une cellule (c'est ce que je crois comprendre)... Si c'est bien cela, il suffit de récupérer le contenu de la cellule (dans une variable), puis la transmettre dans le code qui sert d'enregistrement... bref, très classique...

Amicalement,
Us.
Messages postés
12
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
23 juin 2009

Le numéro est bien dans une cellule et oui c'est excel, pardon j'ai oublié de préciser... Variable et compagnie c'est bien gentil mais je sais pas comment faire... Les macros que j'ai déjà faite son très basic mais par l'asssistant pas en tapant le code... Mais je suis déjà aller changé la première ligne d'une macro, donc je sais comment on y va... Bref...


Selon ma méthode (qui n'est pas la bonne, sinon je ne serais pas ici)


Sub Macro2()
'
' Macro2 Macro
'


'
    ActiveWorkbook.Names.Add Name:="enr1", RefersToR1C1:=Selection()
    ActiveWorkbook.Names("enr1").Comment = ""
    Range("B13").Select
    ActiveCell.FormulaR1C1 = "20090014"
    ChDir _
        "C:\Documents and Settings\Christophe\Mes documents\graphisme\facture\2009"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\Christophe\Mes documents\graphisme\facture\2009\20090014.xls" _
        , FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    Application.Goto Reference:="enr1"
End Sub

Merci pour l'aide
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
C'est déjà plus clair...

Sub Macro2()
'
' Macro2 Macro
'

'
    ActiveWorkbook.Names.Add Name:="enr1", RefersToR1C1:=Selection()
    
    ' Récupérage du n°
    Dim Num_Facture
    Num_Facture = Range("B13").Value
    
    ' Change de répertoire
    ChDir _
        "C:\Documents and Settings\Christophe\Mes documents\graphisme\facture\2009"
    
    'Enregistre sous
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\Christophe\Mes documents\graphisme\facture\2009" & Num_Facture & ".xls" _
        , FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    
    'Ici va à la référence "enr1" ... ? est-ce utile... mystère...
    Application.Goto Reference:="enr1"

End Sub

Amicalement,
Us.
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
En supposant que B13 contient bien le n° de facture....

Us.
Messages postés
12
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
23 juin 2009

Je viens tout juste de tester cela... Et ça fonctionne à merveille! Merci c'est vraiment gentil...

Bonne journée