Problème date excel/VBA [Résolu]

Signaler
Messages postés
2
Date d'inscription
dimanche 28 novembre 2010
Statut
Membre
Dernière intervention
16 janvier 2011
-
Messages postés
2
Date d'inscription
dimanche 28 novembre 2010
Statut
Membre
Dernière intervention
16 janvier 2011
-
Bonjour à tous.
J'ai un problème avec un code visual basic sur Excel. J'ai fait un userform pour archiver des données, mais je veux mettre la date pour chaque opération. Cependant à chaque fois que je fais une nouvelle opération cela me change les dates de toute la colonne. Voici le code, voyez vous le problème?
Merci d'avance.

Sheets("Hist").Select

Range("A4").Select

Do
If ActiveCell.Value = "" Then
GoTo archive
End If

If ActiveCell.Value <> "" Then
ActiveCell.Offset(1, 0).Select
End If

Loop Until ActiveCell.Value = ""

archive:
ActiveCell.Formula = "=TODAY()"
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ComboBox3.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ComboBox1.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ComboBox2.Value
ActiveCell.Offset(0, 2).Select
ActiveCell.Value = TextBox2.Value

ComboBox1.Value = ""
ComboBox2.Value = ""
ComboBox3.Value = ""
TextBox2.Value = ""

2 réponses

Messages postés
14812
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 juillet 2021
156
Bonjour,

Ton problème est avec la formule "=TODAY()"
Remplace la par .Value=Now

Sinon, concernant ton code,
évite les .Select non nécessaires
Evite les "Goto", normalement, on ne l'utilise que EXTREEMEMENT rarement, dans ton cas "Exit Do" est plus adapté.

Voici ton code amélioré et corrigé :
dim lRange as Range
with Sheets("Hist")

set lRange=.Cells(4,1)'Range("A4")

Do while lRange.value=""
set lRange=lrange.offset(1,0)
Loop

lRange.Value=now
set lRange=lrange.offset(0,1)
lRange.Value = ComboBox3.Value
set lRange=lrange.offset(0,1)
lRange.Value = ComboBox1.Value
set lRange=lrange.offset(0,1)
lRange.Value = ComboBox2.Value
set lRange=lrange.offset(0,2)
lRange.Value = TextBox2.Value
End with

ComboBox1.Value = ""
ComboBox2.Value = ""
ComboBox3.Value = ""
TextBox2.Value = ""



Mon site
Messages postés
2
Date d'inscription
dimanche 28 novembre 2010
Statut
Membre
Dernière intervention
16 janvier 2011

merci beaucoup de cette réponse. bonne journée.