Macro excel
Résolu/Fermé
saggigo
Messages postés
43
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
10 janvier 2012
-
9 mars 2010 à 10:28
saggigo Messages postés 43 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 10 janvier 2012 - 9 mars 2010 à 14:53
saggigo Messages postés 43 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 10 janvier 2012 - 9 mars 2010 à 14:53
A voir également:
- Macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
13 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
9 mars 2010 à 10:43
9 mars 2010 à 10:43
Bonjour,
Deux solutions pour votre souci.
Supposons que vous écriviez le nom en A1 et que vous souhaitiez le résultat en B1.
Par formule :
en B1 écrire : =A1&" "&TEXTE(MAINTENANT();"jj/mm/aaaa hh:mm")
Par macro :
Sur votre feuille de calcul excel tapez ALT+F11 puis Insertion / Module et copiez/collez ce code :
Fermez la fenêtre Visual Basic
Pour l'utiliser, sous la feuille de calcul concernée, tapez ALT+F8, sélectionnez "numero_de_serie" et cliquez sur exécuter.
Deux solutions pour votre souci.
Supposons que vous écriviez le nom en A1 et que vous souhaitiez le résultat en B1.
Par formule :
en B1 écrire : =A1&" "&TEXTE(MAINTENANT();"jj/mm/aaaa hh:mm")
Par macro :
Sur votre feuille de calcul excel tapez ALT+F11 puis Insertion / Module et copiez/collez ce code :
Sub numero_de_serie() [B1] = [A1] & Now End Sub
Fermez la fenêtre Visual Basic
Pour l'utiliser, sous la feuille de calcul concernée, tapez ALT+F8, sélectionnez "numero_de_serie" et cliquez sur exécuter.
saggigo
Messages postés
43
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
10 janvier 2012
1
9 mars 2010 à 11:05
9 mars 2010 à 11:05
Merci beaucoup pour ta réponse si rapide (exccuse moi si je te tutoi, c'est comme tu veux) mais ça n'a pas resolu mon probleme. je ne voulais pas avoir dans une cellule la date du jour.
mais je voudrais copier dans une seule cellule le nom du client et coller à ce nom la date comme un numero de serie : nomclientjjmmmaahhmmss, voilà le format que je voudrais avoir.
merci d'avance pour votre aide.
mais je voudrais copier dans une seule cellule le nom du client et coller à ce nom la date comme un numero de serie : nomclientjjmmmaahhmmss, voilà le format que je voudrais avoir.
merci d'avance pour votre aide.
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
9 mars 2010 à 11:25
9 mars 2010 à 11:25
Salut
regardes ces deux codes à placer dans la propriété de la feuille. Si le nom est en A, en tu auras soit avec le premier code la date et l'heure soit avec le deuxième code la valeur de A+ la date et l'heure
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Target.Offset(0, 1) = Now
End Sub
ou
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Target.Offset(0, 1) = Target & Now
End Sub
regardes ces deux codes à placer dans la propriété de la feuille. Si le nom est en A, en tu auras soit avec le premier code la date et l'heure soit avec le deuxième code la valeur de A+ la date et l'heure
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Target.Offset(0, 1) = Now
End Sub
ou
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Target.Offset(0, 1) = Target & Now
End Sub
saggigo
Messages postés
43
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
10 janvier 2012
1
9 mars 2010 à 12:21
9 mars 2010 à 12:21
Vraiment je sais que j'exagere, mais Mike-31, j'ai pas bien compris comment faire. donc je te donne tous:
Je voudrais ecrire dans la cellule "A4" un nom : saggigo (par exemple), et dans la cellule "E9" trouver ceci:
saggigo090310121953 (saggigojjmmmaahhmmss). biensur je voudrais quand j'enregistre le fichier excel, et que je l'ouvre à une date ulterieur, qu'il ne prenne pas la date de la seconde ouverture. je dis ça marcque j'ai mis la fonction "maintenant()" et j'ai changer de date pour voir, et il m'a mis la date changée. excusez moi encore, et merci à tous. au plaisir de vous lire.
Je voudrais ecrire dans la cellule "A4" un nom : saggigo (par exemple), et dans la cellule "E9" trouver ceci:
saggigo090310121953 (saggigojjmmmaahhmmss). biensur je voudrais quand j'enregistre le fichier excel, et que je l'ouvre à une date ulterieur, qu'il ne prenne pas la date de la seconde ouverture. je dis ça marcque j'ai mis la fonction "maintenant()" et j'ai changer de date pour voir, et il m'a mis la date changée. excusez moi encore, et merci à tous. au plaisir de vous lire.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 9/03/2010 à 12:51
Modifié par pijaku le 9/03/2010 à 12:51
J'avais bien compris la question et (presque) bien répondu.
Dans un module insère ce code :
Sub numero_facture
[E11] = [A4] & Format(Now, "ddmmyyhhmmss")
End Sub
Et lance la macro par ALT+F8
Dans un module insère ce code :
Sub numero_facture
[E11] = [A4] & Format(Now, "ddmmyyhhmmss")
End Sub
Et lance la macro par ALT+F8
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
9 mars 2010 à 13:15
9 mars 2010 à 13:15
Re,
Tu n’exagères pas, tu sais ce que tu veux, et de notre coté nous avons simplement du mal à comprendre.
Tu souhaites en colonne B avoir la valeur que tu saisis en A+ la date et l’heure, c’est bien cela et de façon automatique !
Le code que je t’ai donné, colles le dans la propriété de ta feuille, exemple si l’action doit se dérouler feuille 1
Clic droit sur l’onglet de cette feuille/Visualiser le code, ce qui t’ouvrir la feuille de propriété, colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Target.Offset(0, 1) = Target & Now
End Sub
Si tu saisis Saggigo en A, en B tu auras Saggigo09/03/2010 13:13:53
reste peut être à revoir le format
Tu n’exagères pas, tu sais ce que tu veux, et de notre coté nous avons simplement du mal à comprendre.
Tu souhaites en colonne B avoir la valeur que tu saisis en A+ la date et l’heure, c’est bien cela et de façon automatique !
Le code que je t’ai donné, colles le dans la propriété de ta feuille, exemple si l’action doit se dérouler feuille 1
Clic droit sur l’onglet de cette feuille/Visualiser le code, ce qui t’ouvrir la feuille de propriété, colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Target.Offset(0, 1) = Target & Now
End Sub
Si tu saisis Saggigo en A, en B tu auras Saggigo09/03/2010 13:13:53
reste peut être à revoir le format
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
9 mars 2010 à 13:27
9 mars 2010 à 13:27
Salut Mike,
Ta procédure ne risque t'elle pas de changer le résultat? En fait, comme il souhaite avoir le résultat une fois pour toutes, j'ai zappé le côté "évènementiel"...
Ta procédure ne risque t'elle pas de changer le résultat? En fait, comme il souhaite avoir le résultat une fois pour toutes, j'ai zappé le côté "évènementiel"...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
9 mars 2010 à 13:42
9 mars 2010 à 13:42
Salut Pijaku,
Sur la demande initiale de Saggigo "quand j'entre le nom du client dans une cellule, j'ai dans une autre cellule une réfrence dans ce format (à peut-pres) : NomClientjjmmmaahhmmss"
il confirme ce coté évènementiel sur le post 4
"Je voudrais ecrire dans la cellule "A4" un nom : saggigo (par exemple), et dans la cellule "E9" trouver ceci:
saggigo090310121953"
Enfin pour moi c'est ce que j'ai retenu d'ou mon code reproposé post 6. Il est certain que s'il change un nom déjà saisis en A, en B la date et l'heure changeront. Pour y remédier on peut proposer effectivement le déclenchement avec un bouton
et le code s'appliquerait sur une sélection
ou alors on écrit un code qui demande la sélection de la plage à traiter avec une inputbox
Cordialement
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Sur la demande initiale de Saggigo "quand j'entre le nom du client dans une cellule, j'ai dans une autre cellule une réfrence dans ce format (à peut-pres) : NomClientjjmmmaahhmmss"
il confirme ce coté évènementiel sur le post 4
"Je voudrais ecrire dans la cellule "A4" un nom : saggigo (par exemple), et dans la cellule "E9" trouver ceci:
saggigo090310121953"
Enfin pour moi c'est ce que j'ai retenu d'ou mon code reproposé post 6. Il est certain que s'il change un nom déjà saisis en A, en B la date et l'heure changeront. Pour y remédier on peut proposer effectivement le déclenchement avec un bouton
et le code s'appliquerait sur une sélection
ou alors on écrit un code qui demande la sélection de la plage à traiter avec une inputbox
Cordialement
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
saggigo
Messages postés
43
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
10 janvier 2012
1
9 mars 2010 à 13:47
9 mars 2010 à 13:47
Merci pour vos reponses. mais il ya des lacunes:
dans la proposition de pijaku, si je vide la cellule A4 j'aurais juste le jjmmmaahhmmss, et quand j'insere le nom, la cellule E9 ne s'actualise pas.
et pour la proposition de mike31, je ne sais pas pourquoi, mais ça ne donne rien. et si je supprime le contenu de A4, et bien j'ai un bug
dans la proposition de pijaku, si je vide la cellule A4 j'aurais juste le jjmmmaahhmmss, et quand j'insere le nom, la cellule E9 ne s'actualise pas.
et pour la proposition de mike31, je ne sais pas pourquoi, mais ça ne donne rien. et si je supprime le contenu de A4, et bien j'ai un bug
saggigo
Messages postés
43
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
10 janvier 2012
1
9 mars 2010 à 13:54
9 mars 2010 à 13:54
mike, c exactement ce que je voudrais qui se passe
Salut Pijaku,
Sur la demande initiale de Saggigo "quand j'entre le nom du client dans une cellule, j'ai dans une autre cellule une réfrence dans ce format (à peut-pres) : NomClientjjmmmaahhmmss"
il confirme ce coté évènementiel sur le post 4
"Je voudrais ecrire dans la cellule "A4" un nom : saggigo (par exemple), et dans la cellule "E9" trouver ceci:
saggigo090310121953"
mais le probleme c'est il ne se passe rien. rien ne s'actualise
Salut Pijaku,
Sur la demande initiale de Saggigo "quand j'entre le nom du client dans une cellule, j'ai dans une autre cellule une réfrence dans ce format (à peut-pres) : NomClientjjmmmaahhmmss"
il confirme ce coté évènementiel sur le post 4
"Je voudrais ecrire dans la cellule "A4" un nom : saggigo (par exemple), et dans la cellule "E9" trouver ceci:
saggigo090310121953"
mais le probleme c'est il ne se passe rien. rien ne s'actualise
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
9 mars 2010 à 14:09
9 mars 2010 à 14:09
Oui, tu veux que cela se fasse de manière automatique (sans que tu ne touches à rien), mais que cela soit de manière définitive, que cela n'évolue pas. Je pense que ma méthode est valable, sauf pour "l'automatisation". Néanmoins, ALT+F8 ne constitue pas non plus un gros effort...
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
9 mars 2010 à 14:09
9 mars 2010 à 14:09
Re,
Alors dans la propriété feuille colles ce code (Clic droit sur l’onglet de cette feuille/Visualiser le code, ce qui t’ouvrir la feuille de propriété) et tu auras Saggilo090310140921
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Target.Offset(0, 1) = Target & Format(Now, "ddmmyyhhmmss")
End Sub
Alors dans la propriété feuille colles ce code (Clic droit sur l’onglet de cette feuille/Visualiser le code, ce qui t’ouvrir la feuille de propriété) et tu auras Saggilo090310140921
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then Target.Offset(0, 1) = Target & Format(Now, "ddmmyyhhmmss")
End Sub
saggigo
Messages postés
43
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
10 janvier 2012
1
9 mars 2010 à 14:13
9 mars 2010 à 14:13
j'ai fais ce que tu m'a dis; et quand j'ai introduit le nom du client, il ne s'est rien passer, et quand je l'ai supprimer, j'ai eu un bug pour : Target.Offset(0, 1) = Target & Format(Now, "ddmmyyhhmmss"), j'ai meme esseyé sur une autre feuille, et pareil, rien ne se passe.
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
9 mars 2010 à 14:21
9 mars 2010 à 14:21
Re,
Récupères un exemple avec ce lien, saisis colonne A des noms et en B sera généré automatiquement ce que tu demandes
https://www.cjoint.com/?djot7rxSQ8
Récupères un exemple avec ce lien, saisis colonne A des noms et en B sera généré automatiquement ce que tu demandes
https://www.cjoint.com/?djot7rxSQ8
saggigo
Messages postés
43
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
10 janvier 2012
1
9 mars 2010 à 14:35
9 mars 2010 à 14:35
ça marche , j'ai retrouvé le code dans une cellule cachée "F4" mais moi je la veux en E9 ya pas un moyen de la retrouver en E9 sans faire "=F4"
ausis quand je supprime le nom du client, il y a toujours le bug tu ne saurais pourquoi?
ausis quand je supprime le nom du client, il y a toujours le bug tu ne saurais pourquoi?
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
9 mars 2010 à 14:40
9 mars 2010 à 14:40
Re,
traitons un problème à la fois, "le Bug" comme tu dis lorsque tu supprimes le nom veux tu que le nom et la référence s'efface, si oui dans mon exemple propriétés de la feuille1 remplaces le code par ce dernier et tiens nous au courrant
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then
If Target <> "" Then Target.Offset(0, 1) = Target & Format(Now, "ddmmyyhhmmss")
If Target = "" Then Target.Offset(0, 1).ClearContents
End If
End Sub
https://www.cjoint.com/?djoP7ONl3f
traitons un problème à la fois, "le Bug" comme tu dis lorsque tu supprimes le nom veux tu que le nom et la référence s'efface, si oui dans mon exemple propriétés de la feuille1 remplaces le code par ce dernier et tiens nous au courrant
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then
If Target <> "" Then Target.Offset(0, 1) = Target & Format(Now, "ddmmyyhhmmss")
If Target = "" Then Target.Offset(0, 1).ClearContents
End If
End Sub
https://www.cjoint.com/?djoP7ONl3f
saggigo
Messages postés
43
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
10 janvier 2012
1
9 mars 2010 à 14:53
9 mars 2010 à 14:53
ça marche nikel. merci beaucoup pour votre aide. et bonne journée. vous etes super