Passer des noms de colonnes (A B C ) à des chiffres (1 2 3) dans excel

Résolu
didrocks
Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
- 2 juin 2005 à 16:42
valtrase
Messages postés
937
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
9 mai 2022
- 3 juin 2005 à 10:49
Bonjour

Je voudrais, pour pouvoir manipuler plus facilement mes cellules dans des boucles, changer l'adresse de ma plage de cellule afin d'avoir les numéros des colonnes (1 2 3 ...) au lieu d'avoir les noms (A B C ...)

En effet, l'objet UsedRange.Address m'envoie une adresse du type $A$1:$B$6

Avez-vous une idée?
Merci par avance!
@+

7 réponses

valtrase
Messages postés
937
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
9 mai 2022
4
2 juin 2005 à 19:13
Houlala .....


Bon si tu veux faire une boucle entre A1 et F1 par exemple
For i% = [A1].Column To [F1].Column
Cells(1, i%).Value = "Param" & i%
Next
Tou ça pour dire que tu peux utiliser Column et Row pour avoir le num de tes colonnes et lignes

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
valtrase
Messages postés
937
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
9 mai 2022
4
3 juin 2005 à 10:49
Re,
' encore un peu plu loing.....
' L'objet Range peu se manipuler de plusieurs manières
' Pour exemple ce code
Dim iFor i 1 To 10: Cells(i, 1) i: Cells(1, i) = i: Cells(i, i) = i: Next
MsgBox "Une ligne et plusieurs colonnes"


With ActiveSheet.UsedRange
For i = .Cells(1, 1).Column To .Columns.Count
.Cells(1, i).Value = .Cells(1, i).Value & " P" & i
Next
End With
' en effet .Cells(1,1).column représente la première colonne
' de UsedRange et column.count la dernière
' Si tu veux parcourir toutes les cellules de ton UsedRange
' Utilises For Each
' Exemple
MsgBox "Utilisation de For Each"
Dim cell As Range
For Each cell In ActiveSheet.UsedRange
cell.Value = Val(Right(cell.Value, 1)) * 100
Next

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
juju740
Messages postés
10
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
3 juin 2005

2 juin 2005 à 16:53
cells(numero_de_ligne, numero_de_colonne)
cells(1,1) = range("A1")
0
Sensei01
Messages postés
94
Date d'inscription
samedi 22 février 2003
Statut
Membre
Dernière intervention
27 juin 2006

2 juin 2005 à 17:06
Sensei01

ou bien :
dim valeur_hexa as integer 'pour "A" le code hexa est 65
...
...
... .Range (Chr(valeur_hexa) + numero_ligne)

tu met ca dasn une boucle, en faisant varier valeur_hexa et numero_ligne, tu parcours toute les cases de ton fichier tout en les nommant A1,B4, ...

/******** Sans audance pas de gloire !! ********/
0

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

Posez votre question
juju740
Messages postés
10
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
3 juin 2005

2 juin 2005 à 18:18
Pour [auteurdetail.aspx?ID=56908 Sensei01] :

Sans audace pas de gloire mais réfléchis un peu à ta solution !! Selon toi, que se passe-t-il pour la colonne AA -> IV ?



/********Sans réflexion pas de bon conseil********/



;o)
0
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
3 juin 2005 à 08:12
Fais toi un tableau à 2 dimensions

It@li@
0
didrocks
Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007

3 juin 2005 à 09:16
Merci pour toutes ses réponses :-)
0