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

[Résolu] Classeur listing des caractères qui se trouve dans l'aide Excel.

  • Initiateur de la discussion Initiateur de la discussion Lone-wolf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Bonjour le Forum,

Au départ j'était parti pour faire correspondre le n° de cellule au n° du caractères
( ce que j'ai fait d'ailleur 😉 ). Par ex.: si vous regardez les cellules A:32 à H32
et affiché l'aide sur Chr(), le code n° 32 correspond bien a [Space] et 64 à @.
Ensuite j'ai ajouté les n° correspondants.

Petit calcul: A32 * 1 = 32 = [Space] ; A32 * 2 = 64 à @ , A32 * 5 = 160 [Space] ;
pour ceux qui n'auraient pas compris. 😱


Pour commencer le listing, cliquez sur le bouton.



A+ 😎

Amicalement
Lone-wolf
 

Pièces jointes

Dernière édition:
Re : Classeur listing des caractères qui setrouve dans l'aide Excel.

Bonjour Lone-Wolf

A priori , j'obtiens le même resultat avec

Code:
Sub lescaracteres()
ligne = 1
colonne = 1
For n = 0 To 255
  Cells(ligne, colonne) = n
  Cells(ligne, colonne + 1) = Chr(n)
  If ligne = 32 And (colonne = 1 Or colonne = 9) Then Cells(ligne, colonne + 1) = "[Space]"
  ligne = ligne + 1
  If ligne = 33 Then
    ligne = 1
    colonne = colonne + 2
  End If
Next n
End Sub
 
Re : Classeur listing des caractères qui setrouve dans l'aide Excel.

Bonsoir pierrejean,

et bien, loin dêtre à ton niveau, j'ai codé basiquement. 😱

Merci d'avoir répondu et mis un code (sans vouloir offenser personne) plus court et professionnel.

Edit: comme les caractères 0 a 31 ne sont pas pris considérations d'après ce que j'ai pu lire, il faut mettre à 1 la ligne:

For n = 1 To 255 au lieu de For n = 0 To 255 pour avoir le résultat que j'ai obtenu avec mon code de A32 à N32;
sinon il y a un décalage.

A+ 😎

Amicalement
Lone-wolf
 
Dernière édition:
Re : Classeur listing des caractères qui setrouve dans l'aide Excel.

Bonsoir Lone-wolf, pierrejean 🙂

Une solution qui entre des formules Excel dans la feuille :

Code:
Sub Caracteres()
[B1] = "=INDIRECT(""RC[-1]"",0)"
If IsError([B1]) Then 'Excel version française
[A1:P32].Formula = "=IF(MOD(COLUMN(),2),ROW()+16*(COLUMN()-1),CHAR(INDIRECT(""LC(-1)"",0)))"
Else 'Excel version anglaise
[A1:P32].Formula = "=IF(MOD(COLUMN(),2),ROW()+16*(COLUMN()-1),CHAR(INDIRECT(""RC[-1]"",0)))"
End If
[A1:P32] = [A1:P32].Value
[B32,J32] = "[Space]": [O32:P32] = ""
End Sub
A+
 
Re : Classeur listing des caractères qui setrouve dans l'aide Excel.

Re,

Une solution assez bourrin qui entre 2 formules, mais on n'a plus le problème des versions Excel :

Code:
Sub Caracteres()
[A1:A32,C1:C32,E1:E32,G1:G32,I1:I32,K1:K32,M1:M32,O1:O31].Formula = "=ROW()+16*(COLUMN()-1)"
[B1:B32,D1:D32,F1:F32,H1:H32,J1:J32,L1:L32,N1:N32,P1:P31].Formula = "=CHAR(RC[-1])"
[A1:P32] = [A1:P32].Value 'à retirer si l'on veut voir les formules
[B32,J32] = "[Space]"
End Sub
A+
 
Re : Classeur listing des caractères qui se trouve dans l'aide Excel.

Re,

Revenant à la solution du post #4, on peut éviter INDIRECT en décalant :

Code:
Sub Caracteres()
[B1:Q32].Formula = "=IF(MOD(COLUMN(),2),ROW()+16*(COLUMN()-1),CHAR(RC[-1]))"
[A:A].Delete
[A1:P32] = [A1:P32].Value 'à retirer pour voir la formule
[B32,J32] = "[Space]": [O32:P32] = ""
End Sub
Edit : s'il y a du texte à doite du tableau comme dans le fichier de Lone-wolf, insérer une colonne :

Code:
Sub Caracteres()
Application.ScreenUpdating = False
[A:A].Insert
[B1:Q32].Formula = "=IF(MOD(COLUMN(),2),ROW()+16*(COLUMN()-1),CHAR(RC[-1]))"
[A:A].Delete
[A1:P32] = [A1:P32].Value 'à retirer pour voir la formule
[B32,J32] = "[Space]": [O32:P32] = ""
End Sub
A+
 

Pièces jointes

Dernière édition:
Re : Classeur listing des caractères qui se trouve dans l'aide Excel.

Bonsoir à tous


Deux autres codes :​
VB:
Sub toto()
    For i = 0 To 254
        With Cells(i Mod 32 + 1, 2 * (i \ 32 + 1)): .Offset(, -1).Value = i + 1: .Value = Chr(i + 1): End With
    Next
    Range("B32,J32").Value = "[espace]"
End Sub
VB:
Sub tata()
    For i = 0 To 254
        With Cells(i Mod 32 + 1, 2 * (i \ 32 + 1))
            .Offset(, -1).Value = i + 1
            Select Case i
            Case 31, 159: .Value = "[espace]"
            Case Else: .Value = Chr(i + 1)
            End Select
        End With
    Next
End Sub


ROGER2327
#5774


Samedi 21 Clinamen 139 (Moreau, insulaire - fête Suprême Quarte)
23 Germinal An CCXX, 8,5572h - marronnier
2012-W15-4T20:32:14Z
 
Re : Classeur listing des caractères qui se trouve dans l'aide Excel.

Bonsoir Job, Roger,

je vous emercie tous les deux pour le temps consacrés à ces codes qui fonctionnent à merveille.

Il y a l'embarras du choix, c'est bien aussi pour ceux qui lirons ce fil.


A+ 😎


Amicalement
Lone-wolf
 
Re : Classeur listing des caractères qui se trouve dans l'aide Excel.

Bonjour Lone-wolf, Roger, le fil,

Je reviens avec mes formules car voici la bonne solution.

Elle utilise DECALER (OFFSET) :

Code:
Sub Caracteres()
[A1:P32] = "=IF(MOD(COLUMN(),2),ROW()+16*COLUMN()-16,CHAR(OFFSET(RC,,-1)))"
[B32,J32,O32:P32] = "=REPT(""[Space]"",COLUMN()<11)" 'pour le fun
[A1:P32] = [A1:P32].Value 'à retirer pour voir les formules
End Sub
Pourquoi n'y ai-je pas pensé plus tôt 😕

Fichier (2).

Bonne journée.
 

Pièces jointes

Re : Classeur listing des caractères qui se trouve dans l'aide Excel.

Re,

Si l'on veut une temporisation, comme le fait la macro de Lone-wolf, il faut bien sûr des boucles.

Avec l'entrée d'une seule formule :

Code:
Sub Caracteres()
Dim i As Byte, j As Byte, t#
For j = 1 To 15 Step 2
  For i = 1 To 32
    Cells(i, j).Resize(, 2) = "=IF(ISREF(RC (R32C2,R32C10,R32C15:R32C16)),REPT(""[Space]"",COLUMN()<11),IF(MOD(COLUMN(),2),ROW()+16*COLUMN()-16,CHAR(OFFSET(RC,,-1))))"
    Cells(i, j).Resize(, 2) = Cells(i, j).Resize(, 2).Value 'à retirer pour voir les formules
    t = Timer: While Timer < t + 0.1: Wend 'temporisation 0,1 s
  Next
Next
End Sub
Fichier (3).

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…