OVH Cloud OVH Cloud

Vba

1 réponse
Avatar
Mounette23
Bonjour,
J'ai problème qu'est
Si dans la celule N2 est remplie alors mettre la date et l'heure dans la cellule Q2
Et comme je veux que dans la continue cela fonctionne exemple cellule N3 et Q3...et N4 et Q4....ect le problème toute mes cellules se mets a jours et ne reste pas figer.
Formule excel : =Si(ESTVIDE(N3)=VRAI;"";MAINTENANT())

jai vu que je dois faire une VBA dans des sites
Mais elle bloque a Private Sub Worksheet_change (ByVal As Range)

Quelle est la solution svp

1 réponse

Avatar
MichD
Le 20/03/20 à 12:17, Mounette23 a écrit :
Bonjour,
J'ai problème qu'est
Si dans la celule N2 est remplie alors mettre la date et l'heure dans la cellule
Q2
Et comme je veux que dans la continue cela fonctionne exemple cellule N3 et
Q3...et N4 et Q4....ect le problème toute mes cellules se mets a jours et ne
reste pas figer.
Formule excel : =Si(ESTVIDE(N3)=VRAI;"";MAINTENANT())
jai vu que je dois faire une VBA dans des sites
Mais elle bloque a Private Sub Worksheet_change (ByVal As Range)
Quelle est la solution svp

Bonjour,
Important, première chose à faire si tu n'as jamais utilisé une macro
avec ton application Excel, ce qui suit est obligatoire pour pouvoir
exécuter une macro. C'est probablement pour cela que tu as une erreur
systématique.
A ) à partir du menu fichier / Options / Centre de gestion de la
confidentialité / Bouton "Paramètres du centre de gestion de la
confidentialité / dans la colonne de gauche : Paramètres des macros et
dans la section de droite, tu coches :
A ) activer toutes les macros (....)
B ) la case à cocher "Accès approuvé au modèle d'objet du projet VBA.
Si tu n'a pas un élément appelé "Développeur" dans le menu du ruban, tu
fais ceci :
Fichier / Options / Personnaliser le ruban / dans la colonne de droite,
tu coches l'élément "Développeur" dans la liste.
Dans la feuille où l'action doit se dérouler, un clic droit sur l'onglet
de la feuille - visualiser le code - colle le code suivant dans la page
blanche.
'--------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
'Tu peux modifier le 1000 pour la valeur de ton choix
Set Rg = Intersect(Target, Range("N2:N1000"), Target)
If Not Rg Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each C In Rg
If C <> "" Then
'Pour chaque cellule nom vide de la colonne N
'la colonne Q est affublé de la date et l'heure
C.Offset(, 3).Value = Now()
Else
'Si le contenu en colonne N est supprimé
'le contenu de la colonne Q est supprimé
C.Offset(, 3).Value = ""
End If
Next
Range("Q:Q").EntireColumn.AutoFit
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
End Sub
'--------------------------------------------------
MichD