banban64
Messages postés17Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention 4 octobre 2009
-
28 janv. 2008 à 22:21
banban64
Messages postés17Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention 4 octobre 2009
-
29 janv. 2008 à 18:31
Bonjour au forum,
Je suis un novice et là je commence à désespérer! Donc je viens vous voir parce que j'ai encore besoin d'aide sur mon fichier, en esperant que vous allez pouvoir m'aider!
Mon fichier représente une base de données. J'ai crée un userform ( on m'a déja bien aidé pour le code VBA de la macro) pour remplir certaines cellules. le reste de cellules à remplir
1er problême: J'aimerais que dès que j'écris quelque chose dans la colonne L (dans mon cas, dès que je choisis un VPS dans ma liste déroulante), la colonne d'à coté (colonne M) m'affiche l'heure instantanée.
2ème problême: Et j'aimerais que dans la colonne N, me marque la difference d'heures entre la colonne B et M.
Pour mon 1er problême, j'avais essayé la formule suivante:
Mais quand j'étend cette formule à toute ma colonne, et que ensuite j'ouvre mon userform pour creer une nouvelle ligne, alors là sa m'affiche ma ligne tout en bas du tableau!
et j'ai le même sousi pour mon 2ème problême, lorsque je mets la formule pour calculer la difference d'heures =M2-B2. et de plus cela me marque #VALEUR! si je ne rentre pas l'heure dans la colonne M et B.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 29 janv. 2008 à 08:37
Salut,
Tu peux essayer de faire tout cela par code VBA.
le code suivant est à placer dans le code de ThisWorkBook (objet disponible dans l'explorateur de projet VBA)
J'espère qu'il répond un peu à tes besoins.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'On ne traite que les changement de Tranfert
'pas ceux survenus dans les autres feuilles
If Sh.Name <> "Transfert" Then Exit Sub
'12 = L
If Target.Column = 12 Then
'on place l'heure actuelle dans la colonne M
Cells(Target.Row, Target.Column + 1).Value = Now
'On Calcule la différence entre les deux heures
'attention aucun test n'est effectuer quant au contenu des cellules
Cells(Target.Row, Target.Column + 2).Value = Cells(Target.Row, Target.Column + 1).Value - _
Cells(Target.Row, 2).Value
End If
banban64
Messages postés17Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention 4 octobre 2009 29 janv. 2008 à 18:31
Oups, désolé de mon erreur de themes, je n'avais pas vraiment fait attention! Merci beaucoup Jrivet pour ton code VBA, je vais l'essayer dans mon fichier!!
<hr />
Soyez indulgent, je suis très novice avec Excel....