Valeur ASCII des colonnes sous vba ?

Résolu
bruyaso Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
bruyaso Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

7 réponses

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
ego
 
AA1 = range.(chr(65) & chr(65) & "1") ! faut quand meme chercher un peu ;o)
1
bruyaso Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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
bruyaso Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
pas d'idée ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
bruyaso Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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

Discussions similaires