Valeur ASCII des colonnes sous vba ? [Résolu/Fermé]

Signaler
Messages postés
8
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
8 janvier 2008
-
Messages postés
8
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
8 janvier 2008
-
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

7 réponses

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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

AA1 = range.(chr(65) & chr(65) & "1") ! faut quand meme chercher un peu ;o)
Messages postés
8
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
8 janvier 2008

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
Messages postés
8
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
8 janvier 2008

pas d'idée ?
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)
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
@+
Messages postés
8
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
8 janvier 2008

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