Saisie automatique et doublon

Bonjour, les amis

En ce dimanche orageux (chez moi)

J'ai ouvert mon classeur et me suit dit:

On est le 01/08/2010, pourquoi ne pas recommencer sur un nouveau classeur?

Donc je clique sur nouveau classeur et répond oui au message d'alerte.

le classeur ce ferme et je le réouvre quelques secondes plus tard.

Je contrôle si toute les infos des mois précédent, mois par mois et je vois que mes tableaux sont toujours complété.

Là je me remet en cause:

Mais pourquoi Effacer ces données au contraire tu doit les garder Cela te permet d'avoir un visuel sur ce qui à été fait, et ton chiffre en fin d'année seras juste. Quel imbé.... je suis c'est NORMAL

Je suis vraiment très très de vous avoir pris du temps pour ça

Suite des évènements:

Après m'être punis je modifie la ligne que vba-new à mis en (à corrigé).

Je crées un nouveau client avec facturation et là surprise surprise

message d'alerte (erreur 9) l'indice n'appartient pas à la sélection

je clique donc surdébogage pour voir le souci et l'erreur est donnée dans: Module / sub toilettage (With Sheets(F)) l'indice n'appartient pas à la sélection

Donc je referme mon classeur et n'enregistre pas les modifications

Merci encore et désolé de vous ennuyez avec tous ces problèmes

Amicalement

Leaner

Bonjour leaner

Donc je clique sur nouveau classeur et répond oui au message d'alerte.

le classeur ce ferme et je le réouvre quelques secondes plus tard.

ce n'est pas celui la que tu dois réouvrir mais un autre qui c'est créer et qui s'appel gestion client du 01082010

pour l'erreur c'est corrigé dans ce fichier

étant donné que l'on se sert du mois du date and picker,le mois indiqué est Août

la feuille du mois s'appelant Aout sans accent alors il ne trouve pas la feuille

de même tu trouveras dans la feuille caisse l'adresse de destination du nouveau classeur pour création

actuellement c'est dans mes documents

Bonsoir

Est ce que si je change ce chemin dans U3 de la feuille caisse, changera t'il sans rien détruire

C:\Documents and Settings\All Users.WINDOWS\Documents\Mes documents

Car comme je travaille avec windows 7 et excel 2007 ce chemin ne m'est pas accéssible

les chemins sont représenté différemment

Exp: ordinateur\Disque local (c:)\Mes Documents

Merci

Amicalement

Leaner

Bonsoir leaner

en principe c'est fait pour

Bonjour les amis

Si j'utilise ce code est ce que cela permettra d'enregistrer dans un dossier

Sub Sauvegarde()

'création d'une nouvelle sauvegarde dans c:\Mes Documents\Un Amour de Chien\Sauvegarde

Dim Conf As Byte, NomFichier As String, Chemin As String

Conf = MsgBox("Voulez-vous créer une nouvelle sauvegarde" & vbCrLf & " ", vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation")

If Conf = vbNo Then Exit Sub

If Conf = vbYes Then

Peut tu me dire si c'est juste ou si il manque quelque chose Je voudrai faire comme le nouveau classeur

Merci

Amicalement

Leaner

Bonjour leaner, bob,

leaner a écrit :

Si j'utilise ce code est ce que cela permettra d'enregistrer dans un dossier

Sub Sauvegarde()

'création d'une nouvelle sauvegarde dans c:\Mes Documents\Un Amour de Chien\Sauvegarde

Dim Conf As Byte, NomFichier As String, Chemin As String

Conf = MsgBox("Voulez-vous créer une nouvelle sauvegarde" & vbCrLf & " ", vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation")

If Conf = vbNo Then Exit Sub

If Conf = vbYes Then

En fait ça c'est juste une demande de confirmation à laquelle si tu réponds non, on sort de la macro, et si oui...bah rien

Quelques lignes plus bas, tu as le nouveau nom de fichier :

        'donne le nom du ouveau fichier
        NomFichier = "Gestion client du " & Format(Date, "ddmmyyyy")

et ensuite, le chemin vers lequel tu veux enregistrer ton fichier :

        If Sheets("Caisse").Range("U3") <> "" Then    'si la cellule contenant le chemin (U3) n'est pas vide
            Chemin = Sheets("Caisse").Range("U3") & "\" & NomFichier    'alors le fichier sera enregistré à l'emplacement indiqué par U3 et sous le nom NomFichier
        Else
            Chemin = ActiveWorkbook.Path & "\" & NomFichier    '& ".xls"'sinon le répertoire est celui du fichier actif
        End If

et c'est à partir de là :

        'ENREGISTRER SOUS
        ActiveWorkbook.SaveAs Filename:= _
                              Chemin, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
                              ReadOnlyRecommended:=False, CreateBackup:=False

qu'on enregistre le fichier.

Ensuite, comme l'indique Bob, on ferme le fichier en cours sans sauvegarder :

        'ferme le fichier en cours sans sauvegarde
        Application.Quit

Résultat des courses, si tu veux enregistrer dans le répertoire c:\Mes Documents\Un Amour de Chien\Sauvegarde, faut mettre ça en U3 de la feuille Caisse. Ou bien le changer directement dans le code.

Re_

Merci vba-new et BOB

Je ne sais pas si je me suis bien exprimé, mon objectif est de garder à la fois l'ancien classeur dans un dossier à la fin de l'année( btn nouveau classeur), vu que le classeur redevient vierge. je peut le nommer ex: sauvegarde année 2010

Et la sauvegarde journalière dans un second (btn sauvegarde) vu qu'il n'efface rien. je peut le nommer sauvegarde jour 2010

tous cela dans C:\ Mes Documents\Un Amour de Chien

Alors j'ai bien compris je mets mon chemin en U3.

Mais là il m'en faut deux pour mes deux dossier.

comment je traite ça

Est ce que je mets à la suite en U3, ou faut il que je crées autrement

Je vous remercie de votre énorme patience avec moi et mon projet

Amicalement

Leaner

BOnjour leaner,

Pas vu passer ton message !

Tu parles de la macro Sauvegarde ? Si oui, elle semble juste. Donc qu'est-ce qui te fait dire que ça ne fonctionne pas ? As-tu un message d'erreur ? Si oui lequel ?

Vérifie bien que le dossier C:\Mes documents\Un Amour de Chien\Gestion Client Sauvegarde existe

vba-new

Au sujet du chemin le dossier est bien:

C:\Mes Documents\Un Amour de Chien\Gestion Client Sauvegarde du

Quand je clique Btn sauvegarde dans UF le message apparait:

Erreur exécution 1004

La méthode save de l'objet_workbook a échoué

Ligne 260 col 15

par contre quand je clique sur nouveau classeur dans mon fichier:

C:\Mes Documents\un Amour de Chien\Gestion Client Nouveau Classeur du

Un fichier excel se crées

Donc je pense que mal grès le copier coller j'ai du faire boulette

Merci de ton intervention

Amicalement

Leaner

Re leaner,

J'avais pas vu qu'il y avait un bouton Sauvegarde dans ton userform

Remplace le code du bouton sauvegarde (qui correspond au bouton CommandButton9) par celui-ci :

Private Sub CommandButton9_Click()
'Sauvegarde du fichier
Call Sauvegarde
End Sub

Je pense que c'est ce que tu souhaites faire.

Re_

je crois que j'ai trouvé

Je travaille sur excell 2007 Quand je veut sauvegarder "un message me prévient sur le fait que si j'enregistre dans un format de fichier antérieur les fonctionnalités seront perdues, donc clic sur annuler et enregistrer dans un format qui prend en charge les fonctionnalités"

Est ce le fait que le classeur serait fait en excel 2003 et que le mien est 2007?

Y aurait il un code qui permet d'enregistré la sauvegarde direct en excel 2007?

Amicalement

Leaner

-- 03 Aoû 2010, 16:30 --

Nos message ce sont croisé

hors mis le message avertissement excel sur l'enregistrement

ÇA FONCTIONNE c'est génial les meilleurs c'est vous

la sauvegarde écrase la précédente est il possible que ce ne soit pas le cas (comme le nouveau classeur)

Que dire de plus SI je vous suis reconnaissant de toute l'aide que vous m'avez apporté

Amicalement

Leaner

Bonjour leaner, forum,

On peut dire que les smileys, tu sais les utiliser

Ça fait quand même plus agréable à lire

Quand tu dis :

leaner a écrit :

la sauvegarde écrase la précédente est il possible que ce ne soit pas le cas (comme le nouveau classeur)

Tu parles bien de la sauvegarde journalière, macro "Sauvegarde" ?

bonjour, vba-new

oui c'est exactement ça

ce qui me serais utile c'est d'avoir les sauvegardes journalières indépendantes les unes des autres

d'autre part que pense tu de ce message d'avertissement excel au sujet des versions 2003/2007 (voir post précédent)

Merci

Amicalement

Leaner

Re,

Ok. Remplace la macro sauvegarde par celle-ci :

Sub Sauvegarde()
'création d'une nouvelle sauvegarde dans c:\Mes Documents\Un Amour de Chien\Gestion client sauvegarde
Dim Conf As Byte, cpt As Byte
Dim NomFichier As String, Chemin As String, Repertoire As String, Fichier As String
    Conf = MsgBox("Voulez-vous créer une nouvelle sauvegarde" & vbCrLf & " ", vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation")
    If Conf = vbNo Then Exit Sub
    If Conf = vbYes Then

        'donne le nom du nouveau fichier
        NomFichier = "Gestion client sauvegarde du " & Format(Date, "ddmmyyyy")

        If Sheets("Caisse").Range("U5") <> "" Then    'si la cellule contenant le chemin (U5) n'est pas vide
            'alors le fichier sera enregistré à l'emplacement indiqué par U5 et sous le nom NomFichier
            Repertoire = Sheets("Caisse").Range("U5").Value
            Chemin = Repertoire & "\" & NomFichier & ".xlsm"
        Else

            Repertoire = ActiveWorkbook.Path
            Chemin = Repertoire & "\" & NomFichier & ".xlsm"   'sinon le répertoire est celui du fichier actif
        End If

        '***On regarde si le fichier existe déjà.
        '***Si oui on incrémente un compteur que l'on attachera au nom du fichier
        cpt = 0
recherche:
        ChDir Repertoire
        Fichier = Dir(Repertoire & "\" & "*.xlsm")
        Do While Fichier <> ""
            If Fichier = NomFichier & ".xlsm" Then
                cpt = cpt + 1
                If cpt = 1 Then
                    NomFichier = NomFichier & "_" & Format(cpt, "000")
                Else
                    NomFichier = Left(NomFichier, Len(NomFichier) - 3) & Format(cpt, "000")
                End If
                GoTo recherche
            End If
            Fichier = Dir    ' fichier suivant dans le répertoire
        Loop
        Chemin = Repertoire & "\" & NomFichier & ".xlsm"

        'ENREGISTRER SOUS
        ActiveWorkbook.SaveCopyAs Chemin

        'ferme le fichier en cours sans sauvegarde
        Application.Quit
    End If

End Sub

Si le fichier journalier existe, on ajoute "_001", "_002", "_003" etc.

Pour le message d'avertissement, c'est normal certaines fonctionnalités d'excel 2007 sont différentes de 2003.

Ça devrait être corrigé dans le code ci-dessus. J'ai remplacé les ".xls" par des ".xlsm" pour éviter le message d'avertissement.

re_

Merci vba-new

Là c'est du sérieux, il y as un moment que je m'incline, mais là Vénération

Je pense que l'ont est arrivé au bout

Que Pense tu de ton coté on est bon ou as tu des remarques

Si ce n'est pas le cas j'avoue pour tous ceux qui consulterons ces post que cela est fort sympathique d'aider les excelliens qui n'ont qu'une expérience limité.

je vous remercie à tous les deux vba-new et BOB71AU plus particulièrement, j'espère que l'on auras d'autres occasions de se croiser sur le forum.

Maintenant pour gérer ma clientèle je ne serai plus obliger de le faire à la mimine

Amicalement

Leaner Heureux

Salut leaner,

Merci pour les compliments

leaner a écrit :

Que Pense tu de ton coté on est bon ou as tu des remarques

Bah personnellement je pense qu'il faudrait demander à Bob étant donné que c'est lui qui a fait la grande partie du travail. Mais c'est bizarre, ça fait un petit moment qu'on ne l'a plus vu ! Bob es-tu encore là ?

Re_

BOB est peut être partis en vacance

Leaner

-- 05 Aoû 2010, 11:37 --

Bonjour, BOB et vba-new

Dite un petit pb se présente, rien de grave

Quand je demande un bilan du jour dans UF et que je choisi une date ou je n'ai pas eu d'entrée de caisse, ex: 02/08/2010 une fenêtre affiche une demande de débogage

Y aurait il moyen pour que cela ne se produise pas sur les jours de non entrée de caisse

MERCI

Amicalement

Leaner

Re,

Et si tu cliques sur débogage, quelle est l'erreur retournée ? A quelle ligne de quelle macro ?

Bonjour leaner,vba-new

me revoila

j'ai dû m'absenter 3 jours

merci d'avoir continué le post vba-new

j'en profite pour regarder tes lignes de code

comme ça, on est au moins deux à en profiter,merci

je pense que l'erreur vient du nom de la feuille Aout au lieu de Août que j'avais corrigé sur un fichier sinon je me trompe

A bientôt

Bonsoir, vba-new, BOB71AU

désoler de vous ennuyer avec ce petit problème

Voilà le message :

Erreur d'exécution 13

Incompatibilité de type

Ligne 102 colonne 4

" SOM = FormatNumber((SE + SC + SCB), 2) 'addition des différentes sommes pour faire le total"

Croyez vous que l'on peut y faire queleque chose

Amicalement

Leaner

-- 06 Aoû 2010, 16:43 --

Bonjour, les amis

Voila je viens de modifier le classeur avec des éléments, qui sont plus près de la réalité

Notamment les tarifs et les travaux.

je me rend compte que j'avais sous estimer le nombres de travaux

Classeur 1 j'ai 10 opération de travaux

Classeur 2 j'en ai besoin de 17

J'ai essayé de le faire sur le classeur 2, j'ai rajouté des colonnes manquantes et dans UF les labels et autres suppléments.

Mais maintenant j'ai le souci de faire fonctionner le tous

J'ai besoin de conseils

Pourriez vous me dire

Vaut il mieux mettre en état de fonctionnement le classeur2

ou

vaut il mieux continuer ce que l'on à créer, classeur1

Pouvez vous m'aider

Je vous remerci de l'attention que vous porterez à mes demandes

Amicalement

Leaner

Rechercher des sujets similaires à "saisie automatique doublon"