passer de la syntaxe "R1C1" a la syntaxe "A1" pour une cellule

MrOizo

XLDnaute Nouveau
Salut tout le monde !
Alors j'ai souvent ce probleme la : comment avoir la lettre de la colonne a partir de son numero ??

Pour le sens inverse on peut faire
Range("A1").Adresse(,,x1R1C1)

mais dans l'autre sens je ne sais pas ...

en fait j'ai deux variables Long
Ligne as Long
Colonne as Long

et je peux faire un range().select
sur la cellule qui correspond a Ligne et Colonne
et je voulais passer par
"R" & Ligne & "C" & Colonne

Comment faire alors ?
Merci !
 

Kobaya

XLDnaute Occasionnel
Re : passer de la syntaxe "R1C1" a la syntaxe "A1" pour une cellule

salut MrOizo,

pourquoi ne fais-tu pas simplement Cells(Ligne, Colonne).Select ?

sinon, j'ai cette formule qui renvoie la référence de colonne sous forme de lettre(s) :
Code:
Public Function Adresse(Colonne As Integer) As String
'***********************************************'
' renvoie la référence de colonne au format $AA '
'***********************************************'
    
    If Colonne < 257 Then
        If Colonne > 26 Then
            ' le IIf() traite le cas particulier des Z
            Adresse = "$" & Chr(64 + (Colonne \ 26) + IIf(Colonne Mod 26 = 0, -1, 0))
        Else
            Adresse = "$"
        End If
        
        ' le IIf() traite le cas particulier des Z
        Adresse = Adresse & Chr(64 + IIf(Colonne Mod 26 = 0, 26, 0) + (Colonne Mod 26))
    Else
        Adresse = "Erreur : numéro de colonne > 256"
    End If
End Function
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : passer de la syntaxe "R1C1" a la syntaxe "A1" pour une cellule

Bonjour à tous...(y a du monde !!!)


Un petit remake... du Forum 1ère génération

Code:
Option Explicit
 
Sub ColLetter()
Dim Cell As Range
Dim C As Integer
C = Application.InputBox("Tapez le numéro de la colonne", "Convertisseur", Type:=1)

On Error GoTo MilleQuatre
Cells(1, C).Activate
Set Cell = ActiveCell
MsgBox Left(Cell.Address(False, False), (Cell.Column < 27) + 2)

Exit Sub
MilleQuatre:
 If Err = 1004 Then
    MsgBox "Numéro de Colonne non compatible avec Excel"
 Else
    MsgBox "Erreur non gérée " & Err.Number & " " & Err.Description
 End If
End Sub

Bonne fin de journée
@+Thierry
 

MrOizo

XLDnaute Nouveau
Re : passer de la syntaxe "R1C1" a la syntaxe "A1" pour une cellule

Merci a tous pour vos reponses !

en fait j aurais du donner plus de details :

ce que je souhaites c est selectionner plusieurs cellules ...

je souhaites selectionner : R1C1:RxxCxx

Alors j avais penser a Cells(xx,xx) mais ca ne selectionne qu une cellule non ?

comment faire pour en selectionner plusieurs ?

Merci !
 

Kobaya

XLDnaute Occasionnel
Re : passer de la syntaxe "R1C1" a la syntaxe "A1" pour une cellule

dans ce cas, c'est :
Range("A1", Cells(Ligne, Colonne).Select

Edit :
et merci à Porcinet de me montrer qu'avec ma fonction, j'avais tout simplement réinventé la roue :mad: sympa le mec, et devant tout le monde en plus...
 

porcinet82

XLDnaute Barbatruc
Re : passer de la syntaxe "R1C1" a la syntaxe "A1" pour une cellule

re, Salut Kobaya,

Excuse, quand j'ai éditer mon post tout a l'heure pour saluer JeanMarie, je n'avais pas vu ton post, donc je te salue au passage, et pour ce qui est de la roue réinventée, les collegues de forum sont la pour ca non? :p

Au plaisir,

@+
 

Discussions similaires

Réponses
7
Affichages
410
Réponses
21
Affichages
386

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974