Numerotation d'enregistrements

bambi

XLDnaute Occasionnel
Bonjour à tous,

J'ai besoin d'une petite application pour saisir du courrier
entrant et sortant avec date et numéro d'enregistrement automatique
pour éviter les erreurs de saisies.

J'ai déjà vu quelques exemples sur le forum mais ça ne correspond pas
tout à fait à ce que je recherche et surtout je ne saurai pas l'adapter.

En fichier joint quelques explications de ce qui serait idéal.

Si vous avez un peu de temps pour regarder.

D'avance merci
 

Pièces jointes

  • enregistrement courrier.xls
    15.5 KB · Affichages: 120
  • enregistrement courrier.xls
    15.5 KB · Affichages: 122
  • enregistrement courrier.xls
    15.5 KB · Affichages: 122
Dernière édition:

Luki

XLDnaute Accro
Re : Numerotation d'enregistrements

Bonsoir le fil, Bambi, JeanPierre,JCGL,

Je pars faire la sieste (dimanche, normal) je reviens et c'est le bazar ! :p

On peut pas vous laissez 5 minutes tous seuls, il faut que vous fassiez disparaitre des macros pour épater les filles... Non mais, franchement, à vos âges!

Bambi, ne te laisse pas embobiner par ces 2 là, ils programment vite et bien, certes (surtout JCGL parce que sur ce coup, Jean-Pierre n'a pas été très efficace :D), mais ils ne sont pas sérieux.. :p (heureusement!)

Visiblement tu as trouvé ton bonheur (en VBA, pour le reste, ça te regarde). Je n'ai donc plus rien à faire là, je vais reprendre ma sieste! :)

Bye
 

JCGL

XLDnaute Barbatruc
Re : Numerotation d'enregistrements

Re,
Salut Luc,

Ah ben je ne comprends pas, j'ai dupliquer sur treize feuilles ton merveilleux code "doublecliquequimetunnuméroquivabien" (arf c'est pas facile à lire : JP va avoir des problèmes arf) et tu me "traites"

A+ ami Luc et cela sera toujours un plaisr d'essayer et/ou de tenter de te suppléer quand tu fais la sieste (euh une sieste de six heures, ce n'est plus une sieste)

PS : Encore une fois Bambi, c'est normal, ils sont tous fous... sauf moi arf arf
 

jeanpierre

Nous a quitté
Repose en paix
Re : Numerotation d'enregistrements

Re, salut Luki,

Oui, sauf que les vacances ne sont pas toujours la solution (fatigue exagérée par exemple).... Vouloir le faire à la Houdini, c'est bien, mais bon...

Finalement, les enregistrements, c'est pas mal, non plus..... y'a des preuves... hihi

Pour programmer vite, notre ami, depuis deux ou trois jours, n'a pas trouvé mieux que de renvoyer le fichier initial en zip.... je rigole

Si c'est pas des gamelles, ça ?

s'Lu vous tous...
 

Luki

XLDnaute Accro
Re : Numerotation d'enregistrements

Re, le fil

>JCGL

Finalement, j'ai bien fait de me reposer, ça m'a permis, une fois l'esprit clair de supprimer tes "copiercollerdumerveilleuxcodedelukisurchaquepage" pour le résumer à ça :

Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Compteur As Integer
Dim CellCible As Range

    If Sh.Name = "Accueil" Then Exit Sub
    
    On Error Resume Next
    Compteur = [CompteurFeuille] + 1
    If Err.Number <> 0 Then Compteur = 1: Names.Add Name:="CompteurFeuille", RefersTo:=Compteur
    On Error GoTo 0
    
    If Not Intersect(Target, Columns(1)) Is Nothing Then
        Set CellCible = Cells(Range("A65536").End(xlUp).Row + 1, Target.Column)
        CellCible = "N°A" & Compteur
        CellCible.Offset(0, 1) = Now
        CellCible.Offset(0, 2).Activate
        Names.Add Name:="CompteurFeuille", RefersTo:=Compteur
    End If

End Sub
.... dans le module thisWorkbook.

Evidemment :rolleyes:, il faut avoir dépassé le stade du copier/coller en VBA, mais tu vas y arriver, courage! et le forum est plein de ressources! :D

JP, ne cherche pas le code dans les feuilles, y a plus! :p


Edit : tiens, en prime je remets le fichier pour Bambi.

Redit: A + à vous tous aussi sur un autre fil!
 

Pièces jointes

  • Liste Deroulante3.xls
    83.5 KB · Affichages: 55
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Numerotation d'enregistrements

Re,

Encore un procès d'intention...

Je note...

Je note aussi que Bambi est satisfait(e) du "travail" de Luc ET JC arf

A++ mon bon JP

Edition : Bon à savoir, il suffit de "provoquer" Luc pour qu'il nous sorte un code compacté. Tu as de la chance Bambi, tu vas avoir un fichier TipTop. A+ à tous et au plaisir de vous "titiller" sur un autre fil
 
Dernière édition:

bambi

XLDnaute Occasionnel
Re : Numerotation d'enregistrements

Bonjour,


Je souhaiterai une petite modification sur le fichier ci-dessous que
m'a fait JCGL.

Quand je demande un numéro d'enregistrement en double cliquant
sur la colonne A, j'ai la date et l'heure. Je souhaite n'avoir que la
date. Car quand je fais un filtre sur la date, l'heure me pose problème.

Est ce que c'est possible ?

D'avance merci de vos réponses

Bambi
 

Pièces jointes

  • Liste Deroulante 2.zip
    16.1 KB · Affichages: 22
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Numerotation d'enregistrements

Bonsoir ce Fil

Vous avez l'air de bien vous amuser en tout cas :)

C'est bien de travailler en s'amusant.

Je reprendrais le Post de Luki du 09/09/2007 21h57 qui a parfaitement raison...

D'autant plus que maintenant dans le Fichier de Bambi, il va falloir modifier treize Private Modules de chacun des onglets, c'est quoi ce travail !

CellCible.Offset(0, 1) = Date

Au lieu de :

CellCible.Offset(0, 1) = Now

Donc j'ai killé tous les codes de Private Modules pour ne garder que celui proposé par Luki dans ThisWorkBook.... Pour le reste je n'ai pas cherché à modifier quoique ce soit, vu que celà semble correpondre aux besoins de Bambi.

Au fait, bien vu le Nom qui garde le Compteur c'est qui ça ?

Bonne Soirée
@+Thierry
 

Pièces jointes

  • Liste Deroulante 3.zip
    13.9 KB · Affichages: 27

Staple1600

XLDnaute Barbatruc
Re : Numerotation d'enregistrements

Bonsoir à tous


Une petite intrusion en forme de question

-> Thierry
Donc j'ai killé tous les codes de Private Modules pour ne garder que celui proposé par Luki dans ThisWorkBook....

As-tu un moyen pour commenter tout le code VBA dans classeur
(feuilles inclues) en une seule fois?
(En dehors de la BO Edition dans VBE)

Est-ce possible en VBA?

Merci


Bonne soirée à tous
 
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Numerotation d'enregistrements

Bonsoir Stapple, le Fil

J'avais, à l'époque du Forum première génération, réuni dans un seul Fil tout un tas de méthodes pour travailler sur tous les Modules par programmation (y compris ThisWorkbook et les Private modules), il faudrait le retrouver, mais avec le moteur de recherche dont nous disposons, c'est pas évident de le retrouver...

Pour le cas de nettoyage comme pour le classeur de Bambi, j'ai utilisé ça, mais bon on ne met pas en Commentaire, on "Kill" tout (UserForms Compris)


Code Dangereux à utiliser avec précaution

Code:
Sub VBA_Killer()
Dim VBC As Object
With ActiveWorkbook.VBProject
    For Each VBC In .VBComponents
        If VBC.Type = 100 Then
                With VBC.CodeModule
                    .DeleteLines 1, .CountOfLines
                    .CodePane.Window.Close
                End With
        Else
        .VBComponents.Remove VBC
        End If
 
        Next VBC
End With
End Sub

Si ça peut te servir...

@+Thierry


EDITION Ok j'ai retrouvé le fil :

https://www.excel-downloads.com/threads/effacement-d-une-macro.4689/
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Numerotation d'enregistrements

Re


Merci pour l'info.

Il faut donc se résigner à commenter à la mano
tout le code dans d'un classeur (par exemple d'origine inconnue
et que l'on voudrait pouvoir ouvrir 1 fois sans activer les macros
commenter tout en une seule fois et enfin le réouvrir
sans se préoccuper d(activer ou pas les macros
ceci afin de voir à quoi le code VBA se destine)

Aurais-tu sous le coude

un VBA_All_Codes_Export_And_Then_Kill_ALLVBASTUFF() par hasard?
 
Dernière édition:

Luki

XLDnaute Accro
Re : Numerotation d'enregistrements

Bonsoir le fil,

Salut Thierry, c'est sympa de ta part de faire le SAV pendant que je fais la sieste! :D ( ben oui, c'est dimanche quoi, on dirait que bambi ne travaille que le dimanche!:p)

Pour le compteur dans le nom, je crois que c'est moi qui ai commis ça :eek:. (J'ai été à bonne école sur le forum!)

Et c'est vrai que ça fait du bien de se retrouver sur un fil où l'on rigole un peu!

Bonne soirée à tous
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Numerotation d'enregistrements

Bonsoir Luki, re Bonsoir Stapple

Ahhh Stapple si c'est juste pour ceci, il suffit de garder la Touche MAJ enfoncée pendant l'ouverture du Classeur, aucun Macro intempestive dans le ThisWorkBook ou encore une veille Auto_Open ne se pourra se déclencher...

Bien sur tout ceci en ayant le paramètre de Sécurité Macro Enabled. Et tu auras tout loisir de vérifier les codes par ALT F11 avant d'enclencher des Boutons ou des actions sur les Feuille..

A tester si cela existe encore sous 2007...

Sinon pour le Fun car c'est très Cochon, comme écrirait mon copain Laurent Longre, je viens de "pondre" ceci pour toi, mais bon, c'est lent, puis vraiment c'est plus pour le fun qu'autre chose !


Code:
Sub CommentPrivateSubSheet()
Dim WS As Worksheet
Dim WSName As String
Dim x As Long
For Each WS In ActiveWorkbook.Worksheets
WSName = WS.Name
    With ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Sheets(WSName).CodeName).CodeModule
        For x = .CountOfLines * 2 To 1 Step -1
            .InsertLines x, "'" & .Lines(x, 1)
            .CodePane.Window.Close
        Next
 
        On Error Resume Next [COLOR=darkgreen]'avec le classeur de Bambi il y a des ligne vide en bas de modules[/COLOR]
        For x = 2 To .CountOfLines
            .DeleteLines x, 1
        Next
    End With
Next WS
End Sub

Pour Luki, merci de tes commentaires et bravo pour le Compteur alors !

Bonne Nuit

@+Thierry
 
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Numerotation d'enregistrements

ooops j'ai été un peu bourrin dans mes essais lol

On peut faire un petit peu mieux optimisé ... mais bon lol

Code:
Sub CommentPrivateSubSheet()
Dim WS As Worksheet
Dim WSName As String
Dim x As Long
For Each WS In ActiveWorkbook.Worksheets
WSName = WS.Name
    With ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Sheets(WSName).CodeName).CodeModule
        For x = .CountOfLines * 2 To 1 Step -1
            .InsertLines x, "'" & .Lines(x, 1)
 
        Next
 
        On Error Resume Next
        For x = 2 To .CountOfLines
            .DeleteLines x, 1
        Next
     .CodePane.Window.Close
     End With
Next WS
End Sub

@+Thierry
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 837
Messages
2 092 660
Membres
105 482
dernier inscrit
Eric.FKF