Commande en VB

PascalDCN Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
PascalDCN Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -
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. Lupin
     
    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. PascalDCN Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci, Lupin , pour ton aide efficace
      0
  2. Lupin
     
    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