Base de données: ajouter une colonne avec date du jour

strikas06 Messages postés 22 Statut Membre -  
strikas06 Messages postés 22 Statut Membre -
Bonjour à tous,

Je suis gros débutant en VBA :)! Je fais de la gestion de base de donnée et je souahiterais automatiser le plus possible les tâches.

J'ai un workbook avec plusieurs sheets. En collant une plage de données de la sheet 2 vers la sheet 1 je cherche à rajouter sur la colonne de droite (sur un nombre de lignes limité à la plage de données que je souahite coller) la date du jour.

Si quelqu'un a une idée!!!!!

Merci beaucoup pour votre aide.

5 réponses

gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour,

Avec cette macro événementielle dans la sheet 1:

Private Sub Worksheet_Change(ByVal sel As Range)
Dim lig As Long, col As Integer
If Application.CutCopyMode Then
    col = sel.Columns.Count + sel.Column
    Application.EnableEvents = False
    For lig = 0 To sel.Rows.Count - 1
        Cells(sel.Row + lig, col).Value = Date
    Next lig
    Application.EnableEvents = True
End If
End Sub

Tu peux positionner ton collage à n'importe quel endroit de la feuille mais il faut qu'il reste une colonne libre à droite.

Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
0
strikas06 Messages postés 22 Statut Membre
 
Salut!

Je vais essayer ta proposition! Merci mille fois pour la rapidité de ta réponse.
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
RE: j'ai un peu simplifié la macro.
0
strikas06 Messages postés 22 Statut Membre
 
A quel endroit? excuse moi de demander mais je vois pas... Ma macro ci-dessous est située dans module 1
0
strikas06 Messages postés 22 Statut Membre
 
Re!

en fait le collage de ma plage de cellule s'effectue de la sorte:

Sub GlobalArchivageCash()

Sheets("WeeklyCash").Select
ligfinnn = Cells(Cells.Rows.Count, "E").End(xlUp).Row
Range("A2:E" & ligfinnn).Cut

Dim DLLL As Long

With Sheets("Datas")
DLLL = .Range("A65536").End(xlUp).Row
If Not .Cells(DLLL, 1) = "" Then DLLL = DLLL + 1
End With '

Sheets("Datas").Select
Cells(DLLL, 1).Select
ActiveSheet.Paste

Columns("A:E").AutoFit

Columns("E:E").Select
With Selection.Font
.Name = "Calibri"
.Size = 9
.Bold = True
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 3
End With
End Sub

et en executant cette macro j'aimerais que dans la colonne de droite soit ajouté une colonne avec la date du jour... Je ne saurais pas intégrer la macro que tu me proposes dans celle ci :(((((. Tu saurais par hasard?
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour,

Ta question faisait croire que tu collais manuellement, d'où ma réponse.

Voici comment j modifierai ta macro pour obtenir le résultat souhaité :

Sub GlobalArchivageCash()
Dim DLLL As Long, ligfinnn As Long
With Sheets("Datas")
    DLLL = .Range("A65536").End(xlUp).Row + 1
    Sheets("WeeklyCash").Select
    ligfinnn = Cells(Cells.Rows.Count, "E").End(xlUp).Row
    Range("A2:E" & ligfinnn).Cut _
        Destination:=.Cells(DLLL, 1)
    For DLLL = DLLL To DLLL + ligfinnn - 2
        Cells(DLLL, "F").Value = Date
    Next DLLL
End With

Columns("A:E").AutoFit

Columns("E:E").Select
With Selection.Font
.Name = "Calibri"
.Size = 9
.Bold = True
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 3
End With
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
strikas06 Messages postés 22 Statut Membre
 
Tellement sympa! honnettement merci et congrats pour le level en VBA! heureusement pour moi que tu es là :). Merci j'essaye ça!
0