Valeur ASCII des colonnes sous vba ?

Résolu
bruyaso Messages postés 8 Date d'inscription   Statut Membre -  
bruyaso Messages postés 8 Date d'inscription   Statut Membre -
Bonjour,

Je souhaiterais connaitre les valeurs ASCII pour déterminer les colonnes(sous excel) de AA à ZZ

J'utilise sous vba la fonction chr() pour déterminer des colonnes variables ds mes formules. Ms cela ne fonctionne que pour les colonnes de A à Z (soit de 65 à 90) mais ensuite j'aimerai allaer plus oin mais je ne connais pas les valeurs ascii (ou la boucle) pour les colonnes suivantes.

Merci bcp
Configuration: Windows XP
Firefox 2.0.0.11

7 réponses

  1. le père
     
    Bonjour

    'pour col de 1 à 702, rend de "A" à "ZZ"
    Function TexteColonne(ByVal col%) As String
    TexteColonne = IIf(col > 26, Chr(Int((col - 1) / 26) + 64), "") & Chr((col - 1) Mod 26 + 65)
    End Function
    2
  2. ego
     
    AA1 = range.(chr(65) & chr(65) & "1") ! faut quand meme chercher un peu ;o)
    1
  3. bruyaso Messages postés 8 Date d'inscription   Statut Membre
     
    Merci Ego

    Oui j'avais trouvé cette parade, mais en faite ma question est mal posée

    ma variable de colonne va de A à ZA donc du coup je ne sais pas gérer le faire d'avoir la variable s qui dans une boucle varie de la colonne A à ZA
        Range(Cells(R, b), Cells(R, b)).Select
        ActiveCell.Formula = "=SUM(" & Chr(s) & "6:" & Chr(s) & "" & Q & ")"


    Merci
    0
  4. bruyaso Messages postés 8 Date d'inscription   Statut Membre
     
    pas d'idée ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ego
     
    excuse moi, je ne comprends pas ce que tu entends faire.
    tu selectionnes 1 cellule, puis tu demandes a cette cellule d'afficher la somme de Var6 a varQ
    VarQ je connais pas
    la plage de calcul est elle toujours la meme ou fais tu plusieurs plages de calcul auquel cas il faudrait selectionner 1 cellule formula pour chaque plage.
    pour ce que je comprends, il te suffirait de decrire une cellule de la colonne souhaitée, puis lancer la macro style :

    sub val_col()
    Dim ale As Variant, i As Integer, y As Integer
    ale = ActiveCell.Address
    ale = Right(ale, Len(ale) - 1)
    i = InStr(1, ale, "$", vbBinaryCompare)
    ale = Left(ale, i - 1)
    If Len(ale) = 1 Then
    i = Asc(ale)
    Columns("" & (Chr(i)) & ":" & (Chr(i)) & "").Select
    End If
    If Len(ale) = 2 Then
    i = Asc(Left(ale, 1))
    y = Asc(Right(ale, 1))
    Columns("" & (Chr(i)) & (Chr(y)) & ":" & (Chr(i)) & (Chr(y)) & "").Select
    End If
    End Sub
    tu peux aussi utiliser la methode first pour avoir la valeur numerique de la colonne,a laquelle il faudra ajouter 64 mais tu devras doubler a valeur 26 (90 du Z)
    0
  7. ego
     
    la ce n est qu un ex pour selectionner une colonne, tu dois amenager pour tes besoins.
    petite asuce, tu peux decrire une variable as variant et dire
    myvar = ("" & (Chr(i)) & (Chr(y)) & ":
    il ne te resterait qu'a ajouter la ligne
    @+
    0
  8. bruyaso Messages postés 8 Date d'inscription   Statut Membre
     
    Merci bcp pour ces précieux conseils...

    Finalement j'ai contourné le pb ce qui me permet du coup de faire cette somme avec une plage variable.

    Merci pour tout
    0