Une macro pour insérer une caractère

Résolu/Fermé
Guilhot Messages postés 177 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 9 août 2024 - 23 mai 2014 à 16:26
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 23 mai 2014 à 20:13
Bonjour,

j'ai pu créer une macro dans word qui insère les caractères trèfle, Carreau, coeur ou Pique dans mon texte; je voudrais faire la même chose dans excel 2007 mais je n'obtiens que le signe "?". Est il possible de faire ce que je voudrais réaliser ?


A voir également:

4 réponses

benol3 Messages postés 569 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 7 mai 2015 87
23 mai 2014 à 16:42
Salut,

En police arial, c'est possible :

alt+3 à 6 pour les symboles que tu souhaites
0
Guilhot Messages postés 177 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 9 août 2024
23 mai 2014 à 16:58
Merci, j'ai beau me mettre en Arial, lorsque je tape Alt 3 je n'ai rien dans ma cellule ......
Pourtant c'est très facile de faire cette macro sous word ......je continuerai à faire Insertion, symbole, insérer, fermer, OK ...... tant pis
0
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
23 mai 2014 à 17:06
Bonjour

Prendre la police symbol

=car(167) trèfle
=car(168) carreau
= car(169) coeur
=car(170) pique

0
Guilhot Messages postés 177 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 9 août 2024
23 mai 2014 à 17:30
Merci, effectivement je peux faire une macro (en passant d'une police à l'autre) qui fait apparaître le symbole trèfle dans ma cellule. Mon problème demeure quand même car dés que j'ai inscrit du texte dans la cellule le macro ne m'inscrit plus rien. Il faut peut-être que je modifie la "nature" du contenu de la cellule .... transformer en TEXTE ???
En tout cas merci pour cette réponse rapide.
0
Guilhot Messages postés 177 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 9 août 2024
23 mai 2014 à 17:50
Ce que je voudrais faire: "Ni 4 cartes à ? ni 4 cartes à ?" dans une même cellule sans avoir à Insérer etc etc
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 23/05/2014 à 20:03
Bonjour,

Une proposition en vba.
Saisir /p pour pique, /c pour coeur, /k pour carreau et /t pour trèfle, garder la police Arial.
Avec en bonus coeur et carreau en rouges.
edit : voir autre version sur post suivant

eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
Guilhot Messages postés 177 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 9 août 2024
23 mai 2014 à 19:50
Vraiment Chapeau !!! Merci beaucoup.
Si ce n'est pas trop demander: j'ai copié ça dans un fichier Excel qui supporte les macros et ça marche au poil; est ce qu'il serait possible d'intégrer dans mon Excel habituel pour que je retrouve la macro à chaque feuille ?
Est ce que je peux importer et sauvegarder ? De quelle manière ?
Très sympa et encore merci
Michel
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
23 mai 2014 à 20:13
J'en profite pour améliorer, chaque caractère peut être présent plusieurs fois.
Saisir /p pour pique, /c pour coeur, /k pour carreau et /t pour trèfle, garder la police Arial

Actif sur toutes les feuille du classeur, à mettre dans Thisworkbook :
Option Explicit
Dim stopEvents As Boolean

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim i As Long, ch As String
    If Intersect(Target, Range("A2:C10")) Is Nothing Then Exit Sub
    If Target.Count > 1 Or stopEvents Then Exit Sub
    ch = Target
    While InStr(ch, "/p") > 0
        ch = Replace(ch, "/p", ChrW(&H2660))
    Wend
    While InStr(ch, "/c") > 0
        ch = Replace(ch, "/c", ChrW(&H2665))
    Wend
    While InStr(ch, "/k") > 0
        ch = Replace(ch, "/k", ChrW(&H2666))
    Wend
    While InStr(ch, "/t") > 0
        ch = Replace(ch, "/t", ChrW(&H2663))
    Wend
    stopEvents = True
    Target = ch
    stopEvents = False
    'rouge
    For i = 1 To Len(Target)
        If Mid(Target, i, 1) = ChrW(&H2665) Or Mid(Target, i, 1) = ChrW(&H2666) Then
            Target.Characters(i, 1).Font.ColorIndex = 3
        End If
    Next i
End Sub

Est ce que je peux importer et sauvegarder ? De quelle manière ?
A partir d'excel 2007 il faut enregistrer le classeur en type *.xlsm pour conserver les macros.
https://www.cjoint.com/?DExuihpwMRI

eric
0