Date auto en B1 quand A1 renseignée
Résolu/Fermé
A voir également:
- Date auto en B1 quand A1 renseignée
- Telecharger auto refresh - Télécharger - Divers Web & Internet
- Mfg date - Forum PC portable
- Jm date désabonnement ✓ - Forum Consommation & Internet
- Faites en sorte que la cellule a1 affiche exactement ce qui est montré sur cette image. quel mot apparaît en b1 ? - Forum Excel
29 réponses
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
Modifié par Mike-31 le 30/07/2015 à 18:06
Modifié par Mike-31 le 30/07/2015 à 18:06
Bonjour,
Et non il va s'actualiser, si tu veux fixer ta date il faut compléter ton code,
en regroupant les posts de la discussion surtout au niveau de la protection, les cellules de la colonne A sont déverrouillées sinon le code plantera.
remplace le code existant par et saisir entre les guillemets ton mot de passe
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Et non il va s'actualiser, si tu veux fixer ta date il faut compléter ton code,
en regroupant les posts de la discussion surtout au niveau de la protection, les cellules de la colonne A sont déverrouillées sinon le code plantera.
remplace le code existant par et saisir entre les guillemets ton mot de passe
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Target(1, 2) <> "" Then
Exit Sub
Else
ActiveSheet.Unprotect Password:="mot de passe"
Target(1, 2) = Date
ActiveSheet.Protect Password:="mot de passe"
End If
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
jc80
Messages postés
4243
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
29 juil. 2015 à 10:17
29 juil. 2015 à 10:17
Bonjour
Colles ce code dans ta feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1) = Date
End If
End Sub
Cordialement
Colles ce code dans ta feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1) = Date
End If
End Sub
Cordialement
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
>
Bibi
29 juil. 2015 à 12:51
29 juil. 2015 à 12:51
Bon jour
en attendant l'ami jc
1°) clic droit sur le nom d'onglet / sélectionnez "visualiser le code" et coller la macro
2°) pour prendre en compte les macros: format xlsm (prenant en compte les macros est précisé dans la liste)
crdlmnt
en attendant l'ami jc
1°) clic droit sur le nom d'onglet / sélectionnez "visualiser le code" et coller la macro
2°) pour prendre en compte les macros: format xlsm (prenant en compte les macros est précisé dans la liste)
crdlmnt
Bibi
>
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
29 juil. 2015 à 13:14
29 juil. 2015 à 13:14
Dans le menu affichage (excel 2007 il me semble), à droite, j'ai un onglet macro.
Je clic sur "enregistrer une macro". Je copie colle le code dans la description de la macro. Et ensuite je reviens dans cette macro et je clic sur "exécuter".
C'est bien la marche à suivre? Je ne trouve pas d'onglet "visualiser le code"..
Ensuite, lorsque je clic de nouveau sur la macro, j'ai un message d'erreur : espace pile insuffisant...
Je clic sur "enregistrer une macro". Je copie colle le code dans la description de la macro. Et ensuite je reviens dans cette macro et je clic sur "exécuter".
C'est bien la marche à suivre? Je ne trouve pas d'onglet "visualiser le code"..
Ensuite, lorsque je clic de nouveau sur la macro, j'ai un message d'erreur : espace pile insuffisant...
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
30 juil. 2015 à 06:39
30 juil. 2015 à 06:39
Bonjour
Private Sub Worksheet_Change(ByVal Target As Range)
Activesheet.unprotect "xxx"
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1) = Date
End If
Activesheet.protect "xxx"
End Sub
xxx étant le mot de passe à placer entre guillemets
crdlmnt
Private Sub Worksheet_Change(ByVal Target As Range)
Activesheet.unprotect "xxx"
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1) = Date
End If
Activesheet.protect "xxx"
End Sub
xxx étant le mot de passe à placer entre guillemets
crdlmnt
Je n'y comprends rien, j'ai des message d'erreur différents à chaque essai..
Il n'y a aucune fonction qui permette de faire ça, sans passer par une macro?
Merci d'avance
Il n'y a aucune fonction qui permette de faire ça, sans passer par une macro?
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jc80
Messages postés
4243
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
Modifié par jc80 le 29/07/2015 à 13:48
Modifié par jc80 le 29/07/2015 à 13:48
Re bonjour
Comme te l'as dit Vaucluse que je salue
tu ne t'occupes pas de ta macro
et d'ailleurs elle sert à quoi ta macro?
1°) clic droit sur le nom d'onglet de ta feuille / sélectionnez "visualiser le code" et coller le code que je t'aies donné
Crdlt
Comme te l'as dit Vaucluse que je salue
tu ne t'occupes pas de ta macro
et d'ailleurs elle sert à quoi ta macro?
1°) clic droit sur le nom d'onglet de ta feuille / sélectionnez "visualiser le code" et coller le code que je t'aies donné
Crdlt
jc80
Messages postés
4243
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
29 juil. 2015 à 13:55
29 juil. 2015 à 13:55
ci-dessous un exemple
tu cliques sur le nom de la feuille ESSAI_DATE et là tu vas voir visualiser le code.
Code que tu copies et que tu colles dans ta feuille
https://www.cjoint.com/c/EGDl1RpH1gy
Cordialement
tu cliques sur le nom de la feuille ESSAI_DATE et là tu vas voir visualiser le code.
Code que tu copies et que tu colles dans ta feuille
https://www.cjoint.com/c/EGDl1RpH1gy
Cordialement
Wow, ok, je pensais que c'était un code pour une macro... désolé pour mes questions débiles, mais je suis vraiment un novice!
En tout cas ça fonctionne parfaitement, je vous remercie mille fois, ça va me rendre un grand service!
Cordialement
En tout cas ça fonctionne parfaitement, je vous remercie mille fois, ça va me rendre un grand service!
Cordialement
jc80
Messages postés
4243
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
29 juil. 2015 à 14:12
29 juil. 2015 à 14:12
pas de quoi passe le sujet en résolu
a+
a+
Aie, j'ai une autre question svp.
Je ne l'avais pas précisé, mais je veux protéger ma feuille pour que les autres utilisateurs ne puissent pas cliquer sur la colonne B et donc ne pas modifier la date manuellement.
Lorsque je fais ça (protéger ma feuille), et que je remplis ma colonne A, le message suivant apparaît : "erreur définie par l'application ou l'objet".
Une idée?
Merci encore d'avance
Je ne l'avais pas précisé, mais je veux protéger ma feuille pour que les autres utilisateurs ne puissent pas cliquer sur la colonne B et donc ne pas modifier la date manuellement.
Lorsque je fais ça (protéger ma feuille), et que je remplis ma colonne A, le message suivant apparaît : "erreur définie par l'application ou l'objet".
Une idée?
Merci encore d'avance
Je précise que je vérouille et masque la colonne B dans "format cellule"
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
Modifié par Vaucluse le 29/07/2015 à 14:32
Modifié par Vaucluse le 29/07/2015 à 14:32
Sous la ligne de titre de la macro dans le code feuille (soit au début du libellé)
Activesheet.unprotect
et juste avant le End sub
Activesheet.protect
ceci bien sur si vous protègez sans mot de passe
crdlmnt
Activesheet.unprotect
et juste avant le End sub
Activesheet.protect
ceci bien sur si vous protègez sans mot de passe
crdlmnt
Si, je souhaite verouiller et masquer les cellules en B et les protèger par un mot de passe, pour que moi seul puisse modifier les données.
Merci
Merci
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
29 juil. 2015 à 17:57
29 juil. 2015 à 17:57
Alors simplement
Activesheet.unprotect "mot de passe"
et bien sur
Activesheet.protect "mot de passe"
1°) votre mot de passe derrière les codes et entre guillemets
2°) si vous mettez un mot de passe, ne l'oubliez pas
3°) pour être complet il faut aussi protéger VBA pour que la lecture du libellé ne soit pas possible:
ouvrir VBA / Barre d'outil / Onglet outil / Propriètés de >VBA.. / et protection
crdlmnt
Activesheet.unprotect "mot de passe"
et bien sur
Activesheet.protect "mot de passe"
1°) votre mot de passe derrière les codes et entre guillemets
2°) si vous mettez un mot de passe, ne l'oubliez pas
3°) pour être complet il faut aussi protéger VBA pour que la lecture du libellé ne soit pas possible:
ouvrir VBA / Barre d'outil / Onglet outil / Propriètés de >VBA.. / et protection
crdlmnt
Désolé pour cette réponse tardive mais je n'avais plus accès à mon pc.
J'ai essayé ta solution Vaucluse mais ça ne donne rien..
En tant que noob, je ne sais pas si j'ai bien fait les choses, mais en tout cas je n'ai rien obtenu.. en rajoutant, Activesheet.unprotect etc etc, la date ne s'inscrit plus..
J'ai essayé ta solution Vaucluse mais ça ne donne rien..
En tant que noob, je ne sais pas si j'ai bien fait les choses, mais en tout cas je n'ai rien obtenu.. en rajoutant, Activesheet.unprotect etc etc, la date ne s'inscrit plus..
En essayant de nouveau, j'ai obtenu le message : "erreur de compilation : instruction incorrecte à l'extérieur d'une procédure" ..
Merci encore de votre aide, je suis complètement perdu..
Merci encore de votre aide, je suis complètement perdu..
Impeccable Vaucluse, ça fonctionne parfaitement!
Je vous remercie beaucoup pour votre aide et votre efficacité!
Bonne continuation,
Cordialement.
Je vous remercie beaucoup pour votre aide et votre efficacité!
Bonne continuation,
Cordialement.
Une dernière question toutefois svp.
Si je remplis A1 aujourd'hui (30 juillet 2015), la date du jour est donc renseignée en B1 (30/07/15).
Parfait.
Mais si je modifie A1 dans un mois, B1 va-t-il s'actualiser et devenir 30/08/15 ou restera-t-il au 30/07/15 (ce que je souhaite)?
Merci
Si je remplis A1 aujourd'hui (30 juillet 2015), la date du jour est donc renseignée en B1 (30/07/15).
Parfait.
Mais si je modifie A1 dans un mois, B1 va-t-il s'actualiser et devenir 30/08/15 ou restera-t-il au 30/07/15 (ce que je souhaite)?
Merci
Merci beaucoup Mike-31, ton code fonctionne également, en espérant que la date en B soit irremplaçable maintenant!
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
Modifié par Mike-31 le 30/07/2015 à 18:46
Modifié par Mike-31 le 30/07/2015 à 18:46
Re,
si tu as collé ce code et modifié le mot de passe de protection, la date en B ne s'imprimera que si tu saisis une donnée en A et si la cellule contigue en B est vide, tu peux faire des essais
je remets le code avec la dernière modif
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Target = "" Or Target(1, 2) <> "" Then
Exit Sub
Else
ActiveSheet.Unprotect Password:="mot de passe"
Target(1, 2) = Date
ActiveSheet.Protect Password:="mot de passe"
End If
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
si tu as collé ce code et modifié le mot de passe de protection, la date en B ne s'imprimera que si tu saisis une donnée en A et si la cellule contigue en B est vide, tu peux faire des essais
je remets le code avec la dernière modif
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Target = "" Or Target(1, 2) <> "" Then
Exit Sub
Else
ActiveSheet.Unprotect Password:="mot de passe"
Target(1, 2) = Date
ActiveSheet.Protect Password:="mot de passe"
End If
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
J'ai une autre question svp.
J'aimerais pouvoir copier coller ce tableau dans un autre, vierge mais au même format. En effet, j'aimerais que mon premier tableau me donne les données pour une année (soit 365 données) puis copier coller ces données dans un nouveau tableau qui me donnera les données pour 2 ans (730 données)etc etc.
Copier les données en colonne A ne pose aucun problème mais excel m'indique alors : erreur d'exécution "13" : incompatibilité de type, puisque les données en B sont vérouillées en donc impossible à copier coller.
Y a-t-il une solution ou est ce que j'en demande trop?
Merci
J'aimerais pouvoir copier coller ce tableau dans un autre, vierge mais au même format. En effet, j'aimerais que mon premier tableau me donne les données pour une année (soit 365 données) puis copier coller ces données dans un nouveau tableau qui me donnera les données pour 2 ans (730 données)etc etc.
Copier les données en colonne A ne pose aucun problème mais excel m'indique alors : erreur d'exécution "13" : incompatibilité de type, puisque les données en B sont vérouillées en donc impossible à copier coller.
Y a-t-il une solution ou est ce que j'en demande trop?
Merci
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
31 juil. 2015 à 07:29
31 juil. 2015 à 07:29
Re,
erreur d'exécution 13 incompatibilité de type est provoqué par une erreur de déclaration de variable ou erreur de code.
quel code est en erreur et quelle ligne s'il te plait
erreur d'exécution 13 incompatibilité de type est provoqué par une erreur de déclaration de variable ou erreur de code.
quel code est en erreur et quelle ligne s'il te plait
Modifié par Mike-31 le 30/07/2015 à 18:06
If Target(1, 2) <> "" Then
par