besoin d'aide pour un petit problème !!!

olivier63

XLDnaute Nouveau
bonjour tout le monde voici mon petit problème :

je voudrais dans ma macro suivante que la valeur [g2] soit identique que la copy ???

ma macro est :

sub sauvegardefeuille()
worksheets("facture").copy
dim vchemin as string
dim vnum as string
dim vnomfichier as string
vchemin ="c:\users\olivier\documents\archivesfactures\"
vnomfichier="facture"
[g2]=[G2]+1
vnum=[G2].value
vnum=right("00"+vnum,4)
activesheet.saveas vchemin+vnomfichier+vnum
end sub

comment je peut mettre vnum comme référence dans ma feuille facture ?
 

gilbert_RGI

XLDnaute Barbatruc
Re : besoin d'aide pour un petit problème !!!

Bonjour

comme ceci peut-être :rolleyes:

Code:
Sub sauvegardefeuille()
    Dim vchemin As String
    Dim vnum As String
    Dim vnomfichier As String
    vchemin = "c:\users\olivier\documents\archivesfactures\"
    vnomfichier = "facture"
    Worksheets("facture").[G2] = Worksheets("facture").[G2] + 1
    vnum = [G2].Value
    vnum = Format(Right(vnum, 4), "000000")
    MsgBox vchemin + vnomfichier + vnum & ".xls"
    Worksheets("facture").Copy
    'enlever la remarque pour enregistrer
    'ThisWorkbook.SaveAs vchemin + vnomfichier + vnum & ".xls"
End Sub
 
Dernière édition:

olivier63

XLDnaute Nouveau
Re : besoin d'aide pour un petit problème !!!

gilbert je te remercie pour ton exemple mais c'est pas ce que je te demande.

ce que je veux c'est que tu m'explique pas à pas ta demarche pour obtenir ce resultat pour moi c'est beaucoup plus parlant .

car je l'ai écrit et ça marche super bien et encore je te remercie pour ta réponse rapide mais je ne comprends pas tout son fonctionnement et c'est pour ça que je veux que tu me détails ta démarche afin que je comprenne bien comment tu as fait et comment sa marche surtout.

merci

à plus
 

gilbert_RGI

XLDnaute Barbatruc
Re : besoin d'aide pour un petit problème !!!

gilbert je te remercie pour ton exemple mais c'est pas ce que je te demande.

ce que je veux c'est que tu m'explique pas à pas ta demarche pour obtenir ce resultat pour moi c'est beaucoup plus parlant .

car je l'ai écrit et ça marche super bien et encore je te remercie pour ta réponse rapide mais je ne comprends pas tout son fonctionnement et c'est pour ça que je veux que tu me détails ta démarche afin que je comprenne bien comment tu as fait et comment sa marche surtout.

merci

à plus

Dis moi plutôt ce que tu ne comprends pas
si tu l'as écrit toi même ce n'est pas difficile
:eek:
 

olivier63

XLDnaute Nouveau
Re : besoin d'aide pour un petit problème !!!

bonjour gilbert,

je veux comprendre pourquoi tu tu mets la ligne :

worksheets("facture").[g2] = worksheets("facture").[g2]+1

cela corresponds à la numerotation de la facture ça j'ai bien compris mais pourquoi quand j'ecrit par exemple :

[g2]=[g2]+1

je n'ai pas le meme resulat ?

apres sur vnum je trouve ma formule plus simple et elle me correspondais bien là par contre j'ai pas saisie le sens :
vnum=format(right(vnum,4),"000000"

et pour finir je voudrais une explication sur la ligne :

thisworkbook.saveas vchemin+vnomfichier+vnum & ".xls"
pourquoi le thisworkbook et pas activesheets
et la fin & ".xls" il le mets bien sans le rajouter ?

voila mes questions j'attends tes réponses avec impatience pour bien comprendre le sens

merci pour tout tu es genial
à plus
 

gilbert_RGI

XLDnaute Barbatruc
Re : besoin d'aide pour un petit problème !!!

je veux comprendre pourquoi tu mets la ligne :

worksheets("facture").[g2] = worksheets("facture").[g2]+1

le code se trouve dans un module
[g2] signifiant "evaluate [g2]" c'est à dire convertir l'objet cellule en valeur, mais de quel G2 sagit-il ? et de quelle feuille ?
c'est pour cela qu'il faut indiquer précisement comme ici de la feuille "facture"
valeur à laquelle j'ajoute 1 pour incrémenter
vnum=format(right(vnum,4),"000000"

la variable vnum est egale aux quatre caractères de droite de vnum qui aura le format indiquer"000000"
ex : G2 = 12345 => après vba vnum = 002345

thisworkbook.saveas vchemin+vnomfichier+vnum & ".xls"
pourquoi le thisworkbook et pas activesheets
et la fin & ".xls"

comme le copy créer un nouveau classeur il est préférable d'appeler un chien "un chien"
tu auras sans doute remarqué que dans mon classeur j'ai mis "ActiveWorkbook" :D histoire de ......
oui ça marche sans l'extension .xls mais supposons que nous voulions un .xlsm (nouvelle extension 2007) !!!!!!
voilà ma réponse :)
 
Dernière édition:

olivier63

XLDnaute Nouveau
Re : besoin d'aide pour un petit problème !!!

bonjour gilbert ,

je te remercie beaucoup pour ton explication elle est tres clair et j'ai tout compris maintenant.

je suis super content d'avoir trouvé ce forum car il est excellent pour moi et me permet d'avancer à grand pas malgré mon niveau de débutant.

je vous souhaite une très longue vie comme ça je vais pouvoir me perfectionner grace à vous tous

surtout si on m'explique bien comme tu viens de le faire.

bonne journée et à tres bientot.

:):):):):):):)
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz