Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

visualisez des mauvais accents

jdawson

XLDnaute Junior
bonjour à tous

Une collègue a ce genre de problème d accent dans un fichier excell

comment puis je lui colloriser toute les cellules contenant le ? à la place du bon accent
je précise de suite que ce n est pas toujours la même lettre à substituer au ?

mon problème était de rechercher ce ? car si je me trompe pas c est un caractère joker sous excell

si on peut coloriser tous les ? du tableau excell ce serait cool aussi pourquoi pas
le fichier joint vous permet de suite de voir le problème

le code de la macro me serait agréable je ne suis que débutant et vous me permettez ainsi de comprendre le code pour la suite

merci par avance

bruno
 

Pièces jointes

  • TEST.xlsx
    8.9 KB · Affichages: 48

job75

XLDnaute Barbatruc
Bonjour jdawson, le forum,

Voyez ce fichier (2).

La hauteur de la ListBox (et sa largeur) doit être ajustée manuellement, VBA étant en Mode création.

L'alignement est à gauche et j'utilise une police à chasse fixe (Consolas) pour avoir un bon alignement.

Maintenant le clic gauche entre une majuscule, le clic droit entre une minuscule, via cette macro :
Code:
Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
ActiveCell = Replace(ActiveCell, "?", IIf(Button = 1, UCase(ListBox1), LCase(ListBox1)), , 1)
If InStr(ActiveCell, "?") = 0 Then ListBox1.Visible = False
End Sub
J'ai aussi ajouté une instruction dans ThisWorkbook.

Bonne journée.
 

Pièces jointes

  • Fichier définitif(2).xlsm
    64.6 KB · Affichages: 34
  • Source.xlsx
    15.1 KB · Affichages: 41

job75

XLDnaute Barbatruc
Bonjour jdawson, le forum,

J'ai eu du mal mais j'ai trouvé le moyen d'ajuster automatiquement la hauteur de la ListBox :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim t$, z, i%, marges#
t = "AEIOUC" 'liste des caractères de remplacement, modifiable
With ListBox1
  .Visible = False
  If InStr(ActiveCell, "?") Then
    z = ActiveWindow.Zoom
    If z <> 100 Then Application.ScreenUpdating = False: ActiveWindow.Zoom = 100
    .Clear
    For i = 1 To Len(t): .AddItem Mid(t, i, 1): Next 'crée la liste
    .IntegralHeight = False: .Height = 0: .IntegralHeight = True: marges = .Height 'aucune ligne affichée
    .IntegralHeight = False: .Height = marges + .Font.Size: .IntegralHeight = True '1 ligne affichée
    .Height = (.Height - marges) * Len(t) + marges + 1 'toutes les lignes affichées
    .Top = ActiveCell.Top
    .Left = ActiveCell(1, 2).Left
    .Visible = True
    ActiveWindow.Zoom = z
  End If
End With
End Sub
Le + 1 est nécessaire (???) pour les polices de grande taille, j'ai vérifié jusqu'à une police de taille 100.

Il est recommandé de rester sur un Zoom de 100 mais j'ai prévu le cas où il serait modifié.

Fichier (3).

Comme c'est intéressant je vais ouvrir une discussion sur cette question.

Bonne journée.
 

Pièces jointes

  • Fichier définitif(3).xlsm
    66.7 KB · Affichages: 38

jdawson

XLDnaute Junior
bonjour job75

super job si tu me le permet !! j ai renommé ta feuille comme je veux et j ai ajouté à ta liste l'apostrophe qui pour ce client peut etre aussi symbolisé par le ? ca marche nickel crhome !!
je reste pour l'instant sur le copier collé pour les données client, le ctrl i marche très bien si on a bien sur les deux fichier a l ecran, celui du client et le tien (xlsm) .. l aide marche super aussi,

je prendrais du temps pour décortiquer ton code pour le comprendre et le modifier au besoin mais là pour l instant nickel

merci pour tes nombreux post et si ca peut etre le sujet d'un autre post super !!

encore merci job75 je vais soumettre cela au jury !!
 

jdawson

XLDnaute Junior
job75

je suis penible lol, dans l aide il est dit que c est par la touche ctrl que l on declenche les macros mais c est simplement avec les touche i m ou r que ca ce declenche, et le problème est que cela t interdit de taper dans une colonne vide par exemple "rue fontaine" le r declenchant la macro recherche, ou "immeuble" par exemple ..
j ai essaye de supprimer le racourci macro avec les menu macro et option mais la touche rien dans touche de racourcis .. donc rien a supprimer ..
en fait le racourcis avec r i ou m (j avais ma macro plus compliquée que j ai adapte avec la tienne) ne sont pas forcement utile ou alors il faut pas que ca gene une saisie eventuelle des operatrices .. là si tu selectionne une cellule et que tu tape un m ou i en direct ca enclenche une macro alors que l on veut saisir du texte commencant par i r ou m
 
Dernière édition:

jdawson

XLDnaute Junior
1000 excuses ROGER2327 j ai manqué de tact en te répondant pas .. j ai bien regardé ton autre approche et j ai tester ca marche bien aussi mais je suis tellement parti sur le système de la liste box ou la personne selectionne les lettres au fur et mesure que je ne t ai pas repondu..
je m en excuse ...
en fait en mailling il ne nous faut aucun accent .. le logiciel de mailing s en occupe directement donc sous excell que l on ait des accent ou non on s en fout.. le tout est que quand meme on est des lettre qui veulent dire qq chose .. là en l occurence le ? veut dire tout un tas de lettre et on peut pas le laisser tel quel ca voudrais rien dire en mailing donc on on est obligé d intervenir.. j aime bien l option de job75 car en cliquant sur la cellule jaune la liste box vient et l operatrice rectifie comme elle l entend cela lui evite de saisir physiquement dans la cellule avec les sources de mauvaise frappes.
 

job75

XLDnaute Barbatruc
Re,

Si vous ne voulez pas que les touches I E M R (sans Ctrl) déclenchent les macros, désactivez ce qui les concerne dans ThisWorkbook.

A+
 

Pièces jointes

  • Fichier définitif(3 bis).xlsm
    77.6 KB · Affichages: 30

jdawson

XLDnaute Junior
bonjour job75

merci pour ta réponse, j ai galéré un peu pour trouver thisworkbook mais google est ton ami et j ai trouvé
c est cela quand est un jeunot dans ce monde vba !!
j ai réactivé les raccourcis avec CTRL finalement question de les conserver et cela demande la touche CTRL ce qui n est pas anodin comme manip, il faut le vouloir pour activer les raccoucis et ca ne gene pas la saisie dans les celulles

merci a toi

je crois que cest tout bon cette fois ci pour moi je vais aller présenter tout cela à mes collègues

Au final j ai affecté la touche F2 a la recherche au moins pas de risque de conflit avec de la saisie, et ca aide grandement ... un coup de F2 ca recherche et ca propose en meme temps la liste box, c est le pied !!

j ai gardé le fait que j attribue la macro coloration jaune à un icone que j ai mis en place par les menus excell, afin de garder la cohesion avec toutes les autres macros fait avant celle ci

merci encore Job75 a force de lire les codes et de fouiller j en apprends !!

bonne soirée !
 
Dernière édition:

jdawson

XLDnaute Junior
bonjour a tous

je voulais pas commencer un autre post pour ça, peut etre ai je mal fait

dans une feuille excell j ai 5 ou 6 macros,
j en avais avant une dizaine mais je ai fais le tri en allant dans le menu excell outil macro et supprimer macro,
je n'ai donc que les macro que je veux
toutefois quand je vais dans le code de la feuille excell j'ai 35 modules dont certains sont vides et dont certains on encore des codes macros que j ai pourtant supprimé par ma première manip ci dessus,

j ose pas faire du tri la dedans, doit on supprimer les modules vides ? et les modules contenant du code que j ai supprimé par le menu outils macro, pourquoi sont il là après ma suppression menu ?

merci de l explication
 

Discussions similaires

Réponses
9
Affichages
725
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…