Bonjour,

Voici ma première vrai pierre à l'édifice de l'entre-aide :-)

N'ayant rien trouver de clair sur une solution au problème de retrouver la position x / Y (Colonne / Ligne)
d'une cellule en prenant pour base sont nom (ex : A345, ZR45, AFE400)

Voici une solution qui fonctionne en VB.Net :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Friend Sub CellPosition(ByVal CELL As String, ByRef Col As Integer, ByRef Row As Integer)
 
    'Transforme une position de cellule (ex : AC34) en coordonnées Colonne / Ligne (ex : 29 / 34) 
    Col = 0
 
    For i = 0 To CELL.Length - 1
      If CELL.Chars(i).IsLetter(CELL, i) Then
        If i = 0 Then Col = (Asc(CELL.Chars(i)) - 64) 'Gére les cellules A à Z
        If i = 1 Then Col = (26 * Col) + (Asc(CELL.Chars(i)) - 64) 'Gére les cellules AA à ZZ
        If i = 2 Then Col = (26 * Col) + (Asc(CELL.Chars(i)) - 64) 'Gére les cellules après AAA
      Else
        Row = CELL.Substring(i, CELL.Length - i) 'Gére les numéro de ligne
        Exit For
      End If
    Next
 
    'Enleve 1 pour pouvoir utiliser le resultat dans la fonction "feuille.getCellbyPosition(Col, Row).setString("Texte de cellule")" 
    'qui utilise une base (0,0) pour (A1) dans CALC.
 
    Col -= 1 : Row -= 1
 
  End Sub
Appel pour utiliser comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
'....
 
Dim ColPos As Integer
Dim RowPos As Integer
CellPosition("AC34", ColPos, RowPos)
 
FeuilleCALC.getCellbyPosition(ColPos, RowPos).setString("Texte saisie")
 
'....
en espérant rendre service à ceux qui galère en cherchant ça !!!!!

Amicalement ;-p