[Résolu] Insérer Nom+Date dans une zone de texte par macro

WaïRa

XLDnaute Nouveau
Bonjour à tous,

Nouveau née dans le monde du VBA (2jours^^), je tiens d'abord à remercier toute la team et les membres de Excel-DownLoads, car je me suis déjà bien inspiré de votre travail! Merci!!!

Voici mon problème: je souhaiterai créer une macro me permettant d'insérer, après une saisie de texte, à la ligne un nom+date(jj/mm) dans une zone de texte de mon onglet actif excel, et je ne sais pas du tout comment faire ca!

Si un bienfaiteur veut bien me venir en aide, je lui en serai grandement reconnaissant.

Merci,

Cdlt,

WaïRa
 

WaïRa

XLDnaute Nouveau
Bon, j'ai réussi à définir la destination correcte! (j'avais oublié les ""!!!)

Mais j'ai un souci avec cette macro: elle enregistre en mémoire les différentes saisies et les recolle, ce qui ne sera pas compatible avec la finalité de cette fenêtre de suivi: il faut pouvoir la modifier, également la dupliquer sans dupliquer les infos dedans

Question bête, mais un simple copier-coller ne pourrait pas répondre à mes attentes? du style copie A1 (=nom) & A2 (=date) et collage spécial valeur uniquement) juste après la dernière saisi texte? Après, j'attribue un raccourci clavier (ce qui me permet de réutiliser plusieurs fois la macro en fonction de l'utilisateur: Ctrl+H pour Henry-JJ/MM , Ctrl+J pour Julien-JJ/MM, etc...)
 

Staple1600

XLDnaute Barbatruc
Re

Tu avais vu ce que j'ai ajouté dans mon précédent message ?
Sinon moi pas comprendre
ce qui ne sera pas compatible avec la finalité de cette fenêtre de suivi: il faut pouvoir la modifier, également la dupliquer sans dupliquer les infos dedans
???

Donc ci-dessous sans conserver les données précédentes.
VB:
Sub d()
Dim Signature$
Signature = Application.UserName & Format(Date, "\:dd/mm")
ActiveSheet.Shapes(1).TextFrame2.TextRange = _
InputBox("Saisir commentaires suivi,SVP", "Suivi") & vbCrLf & Signature
End Sub
 
Dernière édition:

WaïRa

XLDnaute Nouveau
Re,

Bravo à toi, ca marche très bien. Un grand merci :D
Juste un souci pour la mise en forme: la macro me met tout sous une seule mise en forme; pas moyen de mettre des polices ou des couleurs différentes, mais bon, pas grave.

Dernière petite chose: comment puis je faire pour qu'apparaisse une flèche devant le texte saisi? fleche ou autre, un truc du genre --> c'est très bien! j'ai essayé de le faire moi-même en entrecalant un & ("-->") mais ca n'a pas marché.

Je vais intégrer tout ca au propre en attendant ton éventuelle mais espérée réponse ;)
 

WaïRa

XLDnaute Nouveau
Ahah^^
je venais répondre que j'avais trouvé où mettre mon & ("-->") ;)

En tout cas, nickel!!! Merci vraiment pour tout et pour ta patience!!!!
Je vais finaliser tout ca.

Passe une bonne fin de journée,

Encore un grand merci à toi pour ton aide :)

Bien cordialement,

WaïRa
 

Staple1600

XLDnaute Barbatruc
Re

Et pour finir avec fioritures et gribouillages ;)
VB:
Sub f()
Dim Signature$, Commentaires, X As Long
Signature = Application.UserName & Format(Date, "\:dd/mm")
Commentaires = "=> " & InputBox("Saisir commentaires suivi,SVP", "Suivi")
X = Len(Commentaires) * 1
With ActiveSheet.Shapes(1)
    .TextFrame2.TextRange = Commentaires & vbCrLf & Signature
    .TextFrame.Characters.Font.ColorIndex = 9
    .TextFrame.Characters.Font.Size = 14
    With .TextFrame.Characters(Start:=1, Length:=X).Font
    .Name = "Arial": .Bold = True
    End With
    With .TextFrame.Characters(Start:=X + 1, Length:=Len(Signature) + 1).Font
    .Name = "Calibri": .Bold = False
    End With
    .Line.Visible = msoFalse
    .Fill.ForeColor.RGB = RGB(166, 201, 75)
End With
End Sub
 

Staple1600

XLDnaute Barbatruc
Re
Re
Tu avais vu ce que j'ai ajouté dans mon précédent message ?
Sinon moi pas comprendre
???
Donc ci-dessous sans conserver les données précédentes.
VB:
Sub d()
Dim Signature$
Signature = Application.UserName & Format(Date, "\:dd/mm")
ActiveSheet.Shapes(1).TextFrame2.TextRange = _
InputBox("Saisir commentaires suivi,SVP", "Suivi") & vbCrLf & Signature
End Sub
A ce message, tu sembles avoir répondu ceci
Re,
Bravo à toi, ca marche très bien. Un grand merci :D
Et maintenant tu t'étonnes que les données précédentes ne sont pas conservées :rolleyes:

PS: J'attends toujours que tu expliques cette phrase:
ce qui ne sera pas compatible avec la finalité de cette fenêtre de suivi: il faut pouvoir la modifier, également la dupliquer sans dupliquer les infos dedans
 

WaïRa

XLDnaute Nouveau
Il y a eu un croisé de nos messages, entre j'ai eu un bug avec excel qui a entrainé que la macro gardait en mémoire les saisis dans l'inputBox, et, à chaque nouvelle exé de la macro, faisait un coller de ses données du presse papier. Croyant que l'erreur venait de la macro, je t'ai dit que le fonctionnement de la macro ne collait pas avec l'usage de cette fenêtre de suivi (vu qu'elle remplacer toutes infos modifiées, et qu'en cas de dupliquas de la feuille en question, rebelote, elle continuait à coller les infos du presse papier!)
Bref, l'erreur ne venait absolument pas de la macro mais d'un bug d'excel (qui m'a planté 5-6 fois auj!!!); au redémarrage de celui-ci, elle marchait telle qu'elle avait été conçue, c-à-d bien ;)
Désolé pour tous ses malentendus: j'étais pas au meilleur de ma forme cet aprem tête bien dans le c... ;) ) et je courrais trop de lièvres à la fois!

PS: c'est très bien qu'elle ne conserve pas les données: ca me permet de me faire la main sur le code VBA ;)

Thanks again Staple1600! C.U
 

WaïRa

XLDnaute Nouveau
Re bonjour Staple1600 et autres membres,
La macro que tu m'as donné hier marche très bien à l'exception qu'elle me change la mise en forme du texte qui précédait la saisie rentrée dans l'inputBox.
J'ai essayé de la trifouiller un peu dans tous les sens, j'arrive à modifier la mise en forme de mes signatures, mais rien à faire concernant la mise en forme précédant l'exécution de la macro: elle disparait à chaque fois, et je me retrouve avec seulement la dernière signature avec la bonne M.E.F.
Je pensais contourner le problème en implémentant une fonction rechercher/remplacer les signatures précédentes par la M.E.F souhaitée, mais, d'un, je ne pense pas que ca soit le plus "simple", et de deux, même quelque chose comme rechercher/remplacer dans une zone texte reste hors de ma portée de newbies....
Je suis perfectionniste et cherche à apprendre, mais le VBA n'est pas si facile que ça pour une eprsonne n'en ayant aucune notion :(
Si quelqu'un veut bien me venir en aide?
Actuellement la macro ressemble à ca:
Code:
Sub WaiRa()
'
' WaiRa Macro
' signe WaiRa+Date
'
' Touche de raccourci du clavier: Ctrl+l
'
Dim Comm$, Signature$, Commentaires, X As Long
Comm = ActiveSheet.Shapes("Suivi").TextFrame2.TextRange
Signature = ("WaiRa") & Format(Date, "\_dd/mm")
Commentaires = Commentaires & Comm & vbCrLf & ("-->  ") & InputBox("Saisir commentaire suivi:")
X = Len(Commentaires) * 1
With ActiveSheet.Shapes("Suivi")
    .TextFrame2.TextRange = Commentaires & vbCrLf & Signature
    .TextFrame.Characters.Font.ColorIndex = 3
    .TextFrame.Characters.Font.Size = 14
   With .TextFrame.Characters(Start:=1, Length:=X).Font
    .Name = "Calibri Light": .Bold = True
    .ColorIndex = 3
    End With
    With .TextFrame.Characters(Start:=X + 1, Length:=Len(Signature) + 1).Font
    .Name = "Bradley Hand ITC": .Bold = True
    .ColorIndex = 23
    End With
End With
End Sub

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1