VBA Aide pour Affichage cellules

Bonjour à tous !

Tout d'abord merci de m'accueillir sur votre site, que je trouve très bien construit !

Aujourd'hui je poste ce premier message car je suis un peu débutant dans le VBA et je découvre au fur et à mesure ;)

J'ai écrit avec un ami ce code qui me permet de faire double clic sur l'une des cases de la colonne T et d'afficher la date actuelle en même temps que le système affiche l'heure actuelle en colonne X. j'ai également prévu le fait qu'on puisse écrire la date à la main et que l'heure actuelle s'affiche également.

Voici un screen du fichier et du code

image image image

mon soucis c'est que j'aimerais que lorsque j'étire ma date en incrémentation par exemple de T27 à T40, que l'heure soit aussi affiché en même temps de X27 à X40.

De plus j'ai constaté qu'à l'heure actuel, mon code présente un beugue : Lorsque je supprime la date en T, cela ne supprime pas l'heure mais au contraire il la rajoute sur la ligne au dessus ?

image

Je vous remercie par avance pour votre aide et vous souhaite une bonne soirée !

Amicalement

Salut et soyez le bienvenu

essaye de poster les codes et pas les images des codes

Bonjour Quentin et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment

  • Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).

Merci de votre participation

Cordialement

Bonjour,

Pas de soucis je vais aller me présenter sur le lien que vous avez mis, j'avais cependant déjà lu la charte :)

Et voici pour Amir le code en texte :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

'Teste si on double-clique dans la zone spécifié
If Not Application.Intersect(Target, Range("S2:S99999")) Is Nothing Then

'Si la cellule est vide on y inscrit le chiffre correxpondant à sa couleur
If Target = "" Then

ActiveCell.Value = Format(Now(), "mm/dd/yyyy")
End If
End If

'Teste si on double-clique dans la zone spécifié
If Not Application.Intersect(Target, Range("T2:T99999")) Is Nothing Then

'Si la cellule est vide on y inscrit le chiffre correxpondant à sa couleur
If Target = "" Then

ActiveCell.Value = Format(Now(), "mm/dd/yyyy")

X = ActiveCell.Address
Y = Right(X, 2)
Z = "X"
a = "X" & Y
Range(a).Select
ActiveCell.Value = Format(Now(), "hh:mm")

End If
End If

X = ActiveCell.Address
Y = Right(X, 2)
Z = "U"
a = "U" & Y
B = Range(a).Select
nb_cara = Len(Range(a))
If nb_cara = 4 Then
a = "T" & Y
B = Range(a)
D = "O" & Y
E = Range(D)
F = B - E
If F > 0 Then

MsgBox "ATTENTION DATE DE RESPECT NE PEUT PAS ETRE égale à OUI "
ActiveCell.Value = ""
End If
If F = 0 Then
a = "X" & Y
B = Range(a)
D = "P" & Y
E = Range(D)
F = B - E
If F > 0.208 Then

MsgBox "ATTENTION DATE DE RESPECT NE PEUT PAS ETRE égale à OUI "
ActiveCell.Value = ""
End If

End If
End If

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

X = ActiveCell.Address
YA = Right(X, 2)
a = "U" & YA
B = Range(a)

If Range(X) <> "" Then
If B <> "" Then

If Target.Address = Target.Address Then
Worksheet_BeforeDoubleClick ByVal Target, True

End If
End If
End If

X = ActiveCell.Address
If Range(X) = "" Then
Y = Left(X, 2)

If Y = "$T" Then

Y = Left(Right(X, 2), 2)
Z = "X"
a = "X" & Y - 1
Range(a).Select
If YA = Y Then

ActiveCell.Value = Format(Now(), "hh:mm")
End If
End If
End If
End Sub

Sub Compareur()

X = ActiveCell.Address
Y = Right(X, 2)
Z = "U"
a = "U" & Y
B = Range(a).Select
nb_cara = Len(Range(a))
If nb_cara = 4 Then
a = "T" & Y
B = Range(a)
D = "O" & Y
E = Range(D)
F = B - E
If F > 0 Then
MsgBox "ATTENTION DATE DE RESPECT NE PEUT PAS ETRE égale à OUI "
ActiveCell.Value = ""
End If
If F = 0 Then
a = "X" & Y
B = Range(a)
D = "P" & Y
E = Range(D)
F = B - E
If F > 0.208 Then
MsgBox "ATTENTION DATE DE RESPECT NE PEUT PAS ETRE égale à OUI "
ActiveCell.Value = ""
End If

End If
End If

End Sub

Edit modo : merci de mettre le code entre balises avec le bouton </>

Bonjour Quentin

Pour le problème ci-dessous

mon soucis c'est que j'aimerais que lorsque j'étire ma date en incrémentation par exemple de T27 à T40, que l'heure soit aussi affiché en même temps de X27 à X40.

Le code suivant est à mettre dans l'évènement Change

Private Sub Worksheet_Change(ByVal Target As Range)
  ' Inscrire automatiquement les modification de T dans X
  If Not Application.Intersect(Target, Range("T2:T99999")) Is Nothing Then
    Application.EnableEvents = False
    For Each cel In Target
      Range("X" & cel.Row).Value = Range("T" & cel.Row).Value
    Next cel
    Application.EnableEvents = True
  End If
....

Pour le problème ci-dessous

De plus j'ai constaté qu'à l'heure actuel, mon code présente un beugue : Lorsque je supprime la date en T, cela ne supprime pas l'heure mais au contraire il la rajoute sur la ligne au dessus ?

Le code ne "beugue" pas il a été développé comme ça

  'Teste si on double-clique dans la zone spécifié
  If Not Application.Intersect(Target, Range("T2:T99999")) Is Nothing Then
    'Si la cellule est vide on y inscrit le chiffre correxpondant à sa couleur
    If Target = "" Then
      ActiveCell.Value = Format(Now(), "mm/dd/yyyy")
      X = ActiveCell.Address
      Y = Right(X, 2)
      Z = "X"
      a = "X" & Y
      Range(a).Select
      ActiveCell.Value = Format(Now(), "hh:mm")
    End If
  End If

A+

Bonjour @BrunoM45

Je te remercie pour ton aide !

J'ai copié donc le code et ca marche ! L'incrémentation fonctionne !

C'est juste que ce n'est pas la date dans la colonne X qui doit se mettre mais l'heure actuelle ahah ! et dans T la date ;)

En tout cas c'est pas mal :)

Rechercher des sujets similaires à "vba aide affichage"