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
A voir également:

2 réponses

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