XL 2019 transformation automatique de caractère.

Océane

XLDnaute Impliqué
je cherche une police qui encercle mes nombres au fur et mesure de la frappe.
Exemple dans le fichier joint
Merci d'avance
 

Pièces jointes

  • 7.xlsx
    10.5 KB · Affichages: 13

TooFatBoy

XLDnaute Barbatruc
Je constate, et de plus en plus souvent, que de nos jours "les gens", donc "en général", "globalement", refusent d'apprendre !

  • Tu dis qu'il y a jusqu'à 53 semaines dans une année, mais ils restent bloqués sur leur "52"...
  • Tu dis que 4 331 056 octets ça fait 4,33 Mo, mais ils restent bloqués sur 4 331 056 octets = 4,13 Mb (notez ici la double erreur !)...
  • Tu dis qu'un SSD de 500 Go fait 500 Go même après formatage, ils restent bloqués sur l'idée qu'un SSD annoncé à 500 Go une fois formaté fait à peu près 465 Go...
  • Sans parler de ceux qui ont encore leur abonnement téléphonique chez France Télécom, voire "aux PTT", ou ceux qui ont regardé Antenne 2 ou FR3 samedi dernier...
  • etc.

Bref, mon petit Soso, tout cela me rend bien triste !
😭 😭 😭 😭 😭

😁🤪🥳
 

soan

XLDnaute Barbatruc
Inactif
Tu dis qu'il y a jusqu'à 53 semaines dans une année, mais ils restent bloqués sur leur "52"...

ça, c'est normal ! y'a que les privilégiés qui bénéficient d'un 13ème mois de salaire qui savent compter avec 53 semaines ! nous autres, pauvres mortels qui n'avons que 12 mois de salaires dans l'année, nous comptons avec 52 semaines car 1 an = 52,1429 semaines ! (relire mon post #16) ; et peu importe si l'année est bissextile ou non : à 1 jour près en plus ou en moins, ça change rien au nombre de semaines ! 😜

soan
 

soan

XLDnaute Barbatruc
Inactif
Bref, mon petit Soso, tout cela me rend bien triste !
😭 😭 😭 😭 😭

alors une petite blague pour te remonter le moral :

Dans un casino, une femme demanda à son voisin comment jouer à la roulette :

- Est-ce la première fois que vous essayez ? demanda celui-ci.

Sur sa réponse affirmative, il lui conseilla de placer sa mise sur le nombre correspondant à son âge. - Croyez-moi, ça marche toujours.

Elle misa sur le 30. Quand la roulette s'arrêta, elle s'évanouit : le numéro gagnant était le 43 !

cette blague n'est pas de moi, mais elle est quand même amusante ! 😄

soan
 

Océane

XLDnaute Impliqué
Que voulez-vous dire ? Ma méthode fonctionne au contraire très bien avec le copier-coller.

C'est pour ça qu'il y a la boucle For Each Target In Target.

Voyez le fichier joint, copiez la plage H2:H5 et collez-la en A2.

PS : mon pseudo est job75.
le Pb est dans le sens inverse du résultat vers le tableau que je suis en train de créer.
 

Pièces jointes

  • Calendrier .xlsx
    40.8 KB · Affichages: 2

Océane

XLDnaute Impliqué
Bonjour à tous,

Voyez le fichier joint et cette macro dans le code de la 1ère feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [A:A], UsedRange)
If Target Is Nothing Then Exit Sub
Dim o As Object, c As Range
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
'---RAZ---
For Each o In DrawingObjects
    If Not Intersect(o.TopLeftCell, Target) Is Nothing Then o.Delete
Next
'---copier-coller---
Set c = Sheets("MODELE").[A1]
For Each Target In Target 'si entrées/effacements multiples
    If Target Like "#" Or Target Like "##" Then
        c = Target
        c.Copy Target
    End If
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
L'avantage de cette méthode c'est que les nombres entrés sont utilisables, ce qui n'est pas le cas avec la fonction UNICAR qui renvoie un texte.

Et bien sûr tous les nombres avec 1 ou 2 chiffres sont traités.

A+

le Pb est dans le sens inverse du résultat vers le tableau que je suis en train de créer.
Bonjour Job75
Ce que j'ai voulu dire c'est que je ne sais pas modifier la macro pour la rendre active dans n'importe quel cellule de mon projet.
J'ai donc crée le chiffre qui m’intéresse dans ton exemple et je le copie colle dans mon tableau et là la transcription se fait mal.
Si non effectivement le fonctionnement est bon, pour des chiffres >50.
Pourquoi le cercle est bleu, c'est volontaire ?
le Pb est dans le sens inverse du résultat vers le tableau que je suis en train de créer.
 

job75

XLDnaute Barbatruc
Bonjour Job75
Ce que j'ai voulu dire c'est que je ne sais pas modifier la macro pour la rendre active dans n'importe quel cellule de mon projet.
Pour cela voyez les fichiers (3) et (4) joints avec cette macro dans ThisWorkbook :
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If UCase(Sh.Name) = "MODELE" Then Exit Sub
Set Target = Intersect(Target, Sh.UsedRange)
If Target Is Nothing Then Exit Sub
Dim o As Object, c As Range
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
'---RAZ---
For Each o In Sh.DrawingObjects
    If Not Intersect(o.TopLeftCell, Target) Is Nothing Then o.Delete
Next
'---copier-coller---
Set c = Sheets("MODELE").[A1]
For Each Target In Target 'si entrées/effacements multiples
    If Target Like "#" Or Target Like "##" Or Target Like "###" Then
        c = Target
        c.Copy Target
    End If
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
La macro s'exécute dans n'importe quelle cellule de n'importe quelle feuille autre que "MODELE".
 

Pièces jointes

  • Test(3).xlsm
    21.5 KB · Affichages: 2
  • Test(4).xlsm
    22.2 KB · Affichages: 6

Océane

XLDnaute Impliqué
Pour cela voyez les fichiers (3) et (4) joints avec cette macro dans ThisWorkbook :
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If UCase(Sh.Name) = "MODELE" Then Exit Sub
Set Target = Intersect(Target, Sh.UsedRange)
If Target Is Nothing Then Exit Sub
Dim o As Object, c As Range
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
'---RAZ---
For Each o In Sh.DrawingObjects
    If Not Intersect(o.TopLeftCell, Target) Is Nothing Then o.Delete
Next
'---copier-coller---
Set c = Sheets("MODELE").[A1]
For Each Target In Target 'si entrées/effacements multiples
    If Target Like "#" Or Target Like "##" Or Target Like "###" Then
        c = Target
        c.Copy Target
    End If
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
La macro s'exécute dans n'importe quelle cellule de n'importe quelle feuille autre que "MODELE".
Ça devient intéressant;
Par contre le cercle n'est pas solidaire du chiffre. c'est a dire que si je le déplace a droite ou gauche ils se ne suivent pas...
 

Deadpool_CC

XLDnaute Accro
ça, c'est normal ! y'a que les privilégiés qui bénéficient d'un 13ème mois de salaire qui savent compter avec 53 semaines ! nous autres, pauvres mortels qui n'avons que 12 mois de salaires dans l'année, nous comptons avec 52 semaines car 1 an = 52,1429 semaines ! (relire mon post #16) ; et peu importe si l'année est bissextile ou non : à 1 jour près en plus ou en moins, ça change rien au nombre de semaines !
Zut ... avec mes 14 mois de salaire j'ai le droit à 54 semaines par an ? on me vole depuis trop longtemps ... que fait la police ... 🤪
 

Discussions similaires

Statistiques des forums

Discussions
312 247
Messages
2 086 591
Membres
103 248
dernier inscrit
Happycat