IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

incrémentation sous excel 2007


Sujet :

Macros et VBA Excel

  1. #21
    Membre chevronné Avatar de aalex_38
    Inscrit en
    septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    je n'ai aucunement l'intention de magouiller ou de faire de fausse facture !!!
    Je ne répondais pas à cette question dans ce sens, il est en tout cas d'usage en comptabilité de remplacer une opération par une autre en "flagant" cette opération et sans la supprimer, c'est tout.


    La réponse de jacques_jean me parait de plus judicieuse, car réutiliser les mêmes numéros pour 2 factures différentes, ça ne me semble pas très intéressant !

  2. #22
    Invité
    Invité(e)
    Par défaut
    matthieu24
    je comprends vos messages mais je suis étudiant et je ne suis pas commerçant !!! je n'ai aucunement l'intention de magouiller ou de faire de fausse facture !!!

    merci d'avance pour votre aide !!!

    je veux pas aller en prison ...
    Bien évidemment, que ce soit Aalex_38 ou moi-même, nous n'avons jamais pensé cela.

    Mais comme vous êtes étudiant et non commerçant ou artisan, on peut donc penser que pour cette petite application vous ne serez pas l'utilisateur ?

    Alors à qui va-t-elle servir ?

    Mais je ne suis ni expert-comptable ni contrôleur fiscal, alors dès que je serais rentré, je regarde votre problème si vous n'avez pas d'autres réponses d'ici là.

  3. #23
    Candidat au Club
    Inscrit en
    novembre 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 25
    Points : 4
    Points
    4
    Par défaut
    Pour tout vous dire, c'est pour un exercice qui peut me rapporter des points au prochain partiel donc voila !!!

  4. #24
    Invité
    Invité(e)
    Par défaut
    La solution la plus simple serait d'enregistrer le n° des factures annulées dans la feuille "Facture" du fichier "Facture_modele" et en colonne "I".

    Pour que cela ne s'imprime pas vous définissez une zone d'impression par exemple "A1:G28".

    En "I1" vous tapez : Factures annulées puis à partir de "I2" vous taperez les N° de factures annulées.

    C'est une solution simple pour ne pas dire simpliste, mais comme en dehors de la numérotation tout est fait en manuel, je ne pense pas utile de compliquer.

    Le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Option Explicit
    Dim Numchg As Byte, Dl&
    Sub effacertout()
    Application.DisplayAlerts = False
        Range("B9,A14:A24,E14:E24").ClearContents
        Range("B9").Select
        Range("B10") = Range("B10") + 1
            If Numchg = 2 Then
            Range("I2").ClearContents
            ElseIf Numchg = 3 Then
            Range("I2").ClearContents
            Range("I3:I" & Dl).Select
            Selection.Copy
            Range("I2").Select
            ActiveSheet.Paste
            Range("I" & Dl).ClearContents
            End If
    ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\facture_modele"
    Application.DisplayAlerts = True
    End Sub
     
    Sub enregistrer()
     
    Dl = Cells(Columns(1).Cells.Count, 9).End(xlUp).Row
        If Dl = 1 Then
        ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\facture " & Range("b10")
        Numchg = 1
        effacertout
        Exit Sub
        ElseIf Dl = 2 Then
        ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\facture " & Range("i2")
        Numchg = 2
        Exit Sub
        Else
        ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\facture " & Range("i2")
        Numchg = 3
        End If
    End Sub
    Dernière modification par Invité ; 01/12/2009 à 19h12. Motif: Modification code

  5. #25
    Candidat au Club
    Inscrit en
    novembre 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 25
    Points : 4
    Points
    4
    Par défaut
    merci jacques jean de votre réponse !!! votre solution fonctionne tout à fait et je vous en remercie !! n'y a t-il pas une solution qui permet de mettre à jour le numéro de facture automatiquement sans avoir à entrer moi-même les factures supprimées. Comme un genre de code qui verifie dans le dossier le numéro de facture le plus élevé et ajuste le numéro de facture du modèle en fonction (automatiquement bien sur)

    désolé d'être chiant mais je cherche à rendre la chose la plus automatique possible.

    merci d'avance.

  6. #26
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Ci-dessous le code qui devrait fonctionner :

    -remplacez éventuellement le contenu de la variable chemin
    -les N° des factures seront enregistrés sous la forme :

    Facture 0001, Facture 0002 .....Facture 00010 etc.
    Car si on garde la numérotation que vous aviez prévue à l'origine, cela ne peut fonctionner :

    Excel triera les noms : Facture 1, Facture 11, Facture 12, Facture 2 etc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Option Explicit
    Dim Fs, Chemin$, Fich$, num!, numt$, numpre!, lg As Byte
     
    Sub Enregister()
    Set Fs = Application.FileSearch
    Chemin = "C:\Factures\"
    With Fs
        .LookIn = Chemin
        .Filename = "Facture *.xls"
        If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) = 0 Then
        MsgBox "Aucun fichier correspondant trouvé dans le répertoire indiqué."
        Exit Sub
        End If
    End With
    Application.DisplayAlerts = False
    Fich = Dir(Chemin & "Facture *.xls")
    numpre = 0
        Do While Fich <> ""
        numpre = numpre + 1
        num = Mid(Fich, 9, 4)
        If num > numpre Then
        lg = Len(CStr(num))
        numt = Left("000", 4 - lg) & CStr(numpre)
        ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\facture " & numt
        Range("B9,A14:A24,E14:E24").ClearContents
        ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\facture_modele"
        Exit Sub
        End If
     
    Fich = Dir
    Loop
     
    num = Range("b10")
    lg = Len(CStr(num))
    numt = Left("000", 4 - lg) & CStr(num)
    ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\facture " & numt
    Range("B9,A14:A24,E14:E24").ClearContents
    Range("B10") = Range("B10") + 1
    ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\facture_modele"
    Application.DisplayAlerts = True
    End Sub

  7. #27
    Candidat au Club
    Inscrit en
    novembre 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 25
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup jacques jean de ta réponse. cela fonctionne parfaitement !!

    merci encore

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Lenteurs de macros VBA sous Excel 2007 vs Excel 2003
    Par nicotab dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/11/2007, 18h47
  2. FileSearch sous Excel 2007
    Par laurent.mario dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/10/2007, 19h01
  3. Enregistrer des fichier en DBF sous Excel 2007
    Par filigane dans le forum Excel
    Réponses: 1
    Dernier message: 20/09/2007, 10h56
  4. Une fonction sous Excel 2007 ne fonctionne pas sous Excel 2003
    Par Dryss51 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 27/07/2007, 08h09
  5. [VBA] VBA sous Excel 2007
    Par tangjuncn dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/02/2007, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo