Macro excel
Résolu
saggigo
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
saggigo Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
saggigo Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, et merci pour toutes les infos qu'on y trouve.
Voilà mon probleme: j'aimerais avoir une macro pour une facture, 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
Svp, expliquez moi comment l'introduire parce que VBA je n'y connais rien.
Merci d'avance.
Voilà mon probleme: j'aimerais avoir une macro pour une facture, 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
Svp, expliquez moi comment l'introduire parce que VBA je n'y connais rien.
Merci d'avance.
A voir également:
- Macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
13 réponses
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.
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.
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
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.
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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
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
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
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.
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
ç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?
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