Besoin d'aide en vba pour heure
Résolu
lanetmel
Messages postés
200
Date d'inscription
Statut
Membre
Dernière intervention
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Besoin d'aide en vba pour heure
- Changement d'heure - Guide
- Cdg heure d'arrivée a destination shein ✓ - Forum Consommation & Internet
- Heure de connexion whatsapp qui ne changé pas - Accueil - WhatsApp
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Sb7+ comment changer l'heure - Forum Accessoires & objets connectés
6 réponses
Bonjour
Je comprends mal ce que tu veux faire
ta macro (est ce de toi?) ne peut fonctionner qu'avec la cellule que tu changes dans la colonne C....
Set vtarget = Intersect(Target, Columns(4)) ne représente qu'une seule cellule et
les lignes suivantes
For Each varea In vtarget
For Each vcell In varea sont donc inutiles
est ce que tu voudrais agir sur une zone de la colonne c (par ex D10:D11)? dans ce cas cette zone est elle toujours la m^me (sinon il ne faut pas opter pour l'événement worksheets_change) ?
ou bien...?
Dis toi bien que nous n'avons que ce que tu écris pour essayer de t'aider
Je comprends mal ce que tu veux faire
ta macro (est ce de toi?) ne peut fonctionner qu'avec la cellule que tu changes dans la colonne C....
Set vtarget = Intersect(Target, Columns(4)) ne représente qu'une seule cellule et
les lignes suivantes
For Each varea In vtarget
For Each vcell In varea sont donc inutiles
est ce que tu voudrais agir sur une zone de la colonne c (par ex D10:D11)? dans ce cas cette zone est elle toujours la m^me (sinon il ne faut pas opter pour l'événement worksheets_change) ?
ou bien...?
Dis toi bien que nous n'avons que ce que tu écris pour essayer de t'aider
Bonjour, Bonjour Michel,
Peut-être que c'est ça qui veux faire ?
Quand tu change une cellule de la colonne 4 (D) entre les lignes 9 et 30
La date s'inscrit dans la colonne C de la même ligne.
A+
Peut-être que c'est ça qui veux faire ?
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [D9:D30]) Is Nothing Then Application.EnableEvents = False Target.Offset(0, -1) = Time Application.EnableEvents = True End If End Sub
Quand tu change une cellule de la colonne 4 (D) entre les lignes 9 et 30
La date s'inscrit dans la colonne C de la même ligne.
A+
Bonjour
Premièrement un immense merci à vous qui essayer de m'aider! J'apprécie énormément. Alors je vais essayer d'être plus claire. Je veux faire un fichier pour mes opérateurs de séchoir à bois. Chaque jour, ils doivent entrer des données
Date / heure/ température/ ....
colonne A B C
J'ai déjà mis que lorsque b>0 la date s'inscrit dans la colonne A, ceci fonctionne (je l'ai pas fait en vba
Mais là je voudrais que l'heure s'inscrive dans la colonne b lorsqu'ils entre des info dans c. C'est à tous les jours durant une période qui varie entre 15 et 45 jours. Je veux que l'heure inscrite reste la même , je ne veux pas que'elle change à la fermeture ou ré-ouverture du document.
encore merci à l'avance
Mélanie
Premièrement un immense merci à vous qui essayer de m'aider! J'apprécie énormément. Alors je vais essayer d'être plus claire. Je veux faire un fichier pour mes opérateurs de séchoir à bois. Chaque jour, ils doivent entrer des données
Date / heure/ température/ ....
colonne A B C
J'ai déjà mis que lorsque b>0 la date s'inscrit dans la colonne A, ceci fonctionne (je l'ai pas fait en vba
Mais là je voudrais que l'heure s'inscrive dans la colonne b lorsqu'ils entre des info dans c. C'est à tous les jours durant une période qui varie entre 15 et 45 jours. Je veux que l'heure inscrite reste la même , je ne veux pas que'elle change à la fermeture ou ré-ouverture du document.
encore merci à l'avance
Mélanie
Bonjour,
Est ce que tu lis les réponses des personnes qui tentent de t'aider?
Essayes tu leurs solutions?
Tout est dit dans la réponse de Lermitte, et les questions posées par Michel (est ce que tu voudrais agir sur une zone de la colonne c (par ex D10:D11)? dans ce cas cette zone est elle toujours la m^me (sinon il ne faut pas opter pour l'événement worksheets_change) ? ou bien...?) sont toujours d'actualité...
Est ce que tu lis les réponses des personnes qui tentent de t'aider?
Essayes tu leurs solutions?
Tout est dit dans la réponse de Lermitte, et les questions posées par Michel (est ce que tu voudrais agir sur une zone de la colonne c (par ex D10:D11)? dans ce cas cette zone est elle toujours la m^me (sinon il ne faut pas opter pour l'événement worksheets_change) ? ou bien...?) sont toujours d'actualité...
Bonjour à vous deux,
J'ai essayé la réponse de Lermite mais il ne se passe rien. J'ai inscris la macro dans la feuille ou je veux que cela se passe... La date il n'y a rien à faire avec..la date du jour suivant s'inscrit automatiquement lorsque la date est entrée ça sa fonctionne..
Ex de ce que je veux que ça donne
a b c
1 5 octobre 2011 7:14 120
2 6 octobre 20111 8:22 150
3 7 octobre 2011 8:54 130
donc quand on entre la donnée dans c1 je veux que b1 égale à l'heure qu'il est lors de l'entrée de la donnée. la date du jour se met automatiquement.
Ensuite on ferme le fichier jusqu'au lendemain.
le lendemain quand on entre la donnée dans c2 je veux que b2 égale à l'heure
et je ne veux pas que les données change à l'ouverture ou la fermeture de fichier
encore merci à l'avance
Mélanie
J'ai essayé la réponse de Lermite mais il ne se passe rien. J'ai inscris la macro dans la feuille ou je veux que cela se passe... La date il n'y a rien à faire avec..la date du jour suivant s'inscrit automatiquement lorsque la date est entrée ça sa fonctionne..
Ex de ce que je veux que ça donne
a b c
1 5 octobre 2011 7:14 120
2 6 octobre 20111 8:22 150
3 7 octobre 2011 8:54 130
donc quand on entre la donnée dans c1 je veux que b1 égale à l'heure qu'il est lors de l'entrée de la donnée. la date du jour se met automatiquement.
Ensuite on ferme le fichier jusqu'au lendemain.
le lendemain quand on entre la donnée dans c2 je veux que b2 égale à l'heure
et je ne veux pas que les données change à l'ouverture ou la fermeture de fichier
encore merci à l'avance
Mélanie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Encore moi,
en fait, ceci fonctionne
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Set vtarget = Intersect(Target, Columns(4))
If Not (vtarget Is Nothing) Then
For Each varea In vtarget
For Each vcell In varea
If Not (IsEmpty(vcell.Value)) Then
If vcell.Row > 9 Then
Range("C" & vcell.Row).Value = Time
End If
Else
Range("C" & vcell.Row).ClearContents
End If
Next
Next
End If
Application.EnableEvents = True
End Sub
jusqu'à temps que j'active ma macro effacer tout. à ce moment on affiche ce message d'erreur : impossible de modifier une cellule fusionnée et ça me renvoie à ma macro ci-haut et cette ligne :
Range("C" & vcell.Row).Value = Time
est soulignée en jaune et à partir de ce moment ça ne fonctionne plus?
Quelqu'un sait pourquoi?
merci
en fait, ceci fonctionne
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Set vtarget = Intersect(Target, Columns(4))
If Not (vtarget Is Nothing) Then
For Each varea In vtarget
For Each vcell In varea
If Not (IsEmpty(vcell.Value)) Then
If vcell.Row > 9 Then
Range("C" & vcell.Row).Value = Time
End If
Else
Range("C" & vcell.Row).ClearContents
End If
Next
Next
End If
Application.EnableEvents = True
End Sub
jusqu'à temps que j'active ma macro effacer tout. à ce moment on affiche ce message d'erreur : impossible de modifier une cellule fusionnée et ça me renvoie à ma macro ci-haut et cette ligne :
Range("C" & vcell.Row).Value = Time
est soulignée en jaune et à partir de ce moment ça ne fonctionne plus?
Quelqu'un sait pourquoi?
merci
Re tous, (Oui, ça va très bien, merci)
J'ai tester le code précédant sur ton classeur et je ne vois pas ce qui cloche ??
L'heure s'inscrit bien dans la colonne C quand tu modifie une cellule colonne D ligne Paire. (10..12..14..etc)
A+
EDIT : Pour ce qui est d'effacer une plage avec cellules fusionnées ( en voyant ton classeur j'admet que c'est indispensable à moins de tout changer) Voir cette astuce
Edit 2 : Ce que tu "raconte" dans tes explications ne correspond pas du tout à ton classeur.
La donnée doit s'inscrire en colonne D et l'heure en colonne C ( et pas b/c comme tu dis)
Suivant ta 2ém explication, il semblerait que tu veuille mettre ta date en colonne B quand ont met une donnée en colonne A et que l'ont AJOUTE l'heure à la date quand ont met une donnée en colonne D ????
Tout ça n'est pas clair du tout.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
J'ai tester le code précédant sur ton classeur et je ne vois pas ce qui cloche ??
L'heure s'inscrit bien dans la colonne C quand tu modifie une cellule colonne D ligne Paire. (10..12..14..etc)
A+
EDIT : Pour ce qui est d'effacer une plage avec cellules fusionnées ( en voyant ton classeur j'admet que c'est indispensable à moins de tout changer) Voir cette astuce
Edit 2 : Ce que tu "raconte" dans tes explications ne correspond pas du tout à ton classeur.
La donnée doit s'inscrire en colonne D et l'heure en colonne C ( et pas b/c comme tu dis)
Suivant ta 2ém explication, il semblerait que tu veuille mettre ta date en colonne B quand ont met une donnée en colonne A et que l'ont AJOUTE l'heure à la date quand ont met une donnée en colonne D ????
Tout ça n'est pas clair du tout.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.