Commande en VB

Bonjour,
je n'y connais rien en Vb, mais j'ai trouvé sur une revue (l'O.I.) un article qui m'intéresse particulièrement et qui permet de créer un journal d'évènements sur Excel. j'ai suivi scrupuleusement leurs instructions mais le listing founi contient manifestement des erreurs. Quelqu'un pourrait-il m'éclairer ? Merci
Voici le listing :

Sub horodatage()
Range("A4").select
NoLgn=
ActiveSheet.UsedRange.Row+
ActiveSheet.UsedRange.Rows.Count
Range("A" + CStr(NoLgn)).Select
ActiveCell.Formula="=NOW()"
ActiveCell.Copy
ActiveCell.PasteSpecial
Selection.PasteSpecial
Paste:xlPasteValues
Range("B" + CStr(NoLgn)).Select
End Sub

2 réponses

  1. Bonjour,

    après quelques modifications, j'obtiens :

    Sub horodatage()
        
        Dim NoLgn As Integer
        
        Range("A4").Select
        NoLgn = (ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count)
        Range("A" & NoLgn).Select
        ActiveCell.Formula = "=NOW()"
        ActiveCell.Copy
        ActiveCell.PasteSpecial
        Selection.PasteSpecial (xlPasteValues)
        Range("B" & NoLgn).Select
        
    End Sub
    


    Lupin
    0
    1. Merci, Lupin , pour ton aide efficace
      0
  2. re :

    après vérification :

    la propriété en lecture seul de Row et Rows renvoie un nombre
    de type Long, pour éviter les erreurs de type, déclare la variable
    de type Long. De plus le caractère de concaténation en VB est
    la clé de sol -> &, le caractère -> + est un dérivé des languages
    du net. Dans toutes les applications que j'ai vu, fait ou étudier,
    Basic, Quick Basic, VB 3,4,5,6, VBA, VBS le caractère & ne m'a
    jamais fait défaut.

    Sub horodatage()
        
        Dim NoLgn As Long
        
        Range("A4").Select
        NoLgn = (ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count)
        Range("A" & NoLgn).Select
        ActiveCell.Formula = "=NOW()"
        ActiveCell.Copy
        ActiveCell.PasteSpecial
        Selection.PasteSpecial (xlPasteValues)
        Range("B" & NoLgn).Select
        
    End Sub
    
    0