T
trankill076
Guest
Bonjours,
En vba j'ai besoin de transformer une adresse au format .Address(ReferenceStyle:=xlR1C1) conservée dans une variable de type String en une .Address simple que je pourrait utiliser dans un Range
Pour l'instant j'ai tenté:
Zone est une chaine de caractère qui contient diverses Address de cellules au format R1C1
Ind un entier qui repère la position de l'adresse recherchée dans Zone
Pour l'instant ça ne marche que tant que les colonnes des cellules ne dépasse pas la 52ème (à partir du moment où les noms des en-têtes de cellules passent en BA...)
Franchement j'ai beau chercher je ne voit pas ce qui ne marche pas, ni comment faire plus simple
Merci pour toute aide ^_^
En vba j'ai besoin de transformer une adresse au format .Address(ReferenceStyle:=xlR1C1) conservée dans une variable de type String en une .Address simple que je pourrait utiliser dans un Range
Pour l'instant j'ai tenté:
Code:
Ligne = CInt(Mid(Zone, InStr(Ind, Zone, "R") + 1, InStr(Ind, Zone, "C") - InStr(Ind, Zone, "R") - 1))
Colonne = CInt(Mid(Zone, InStr(Ind, Zone, "C") + 1, InStr(Ind, Zone, ",") - InStr(Ind, Zone, "C") - 1))
If Colonne < 27 Then
Address = Chr(Colonne + 64) + CStr(Ligne)
Else
Address = Chr((Colonne \ 26) + 64) + Chr((Colonne Mod 26) + 64) + CStr(Ligne)
End If
Zone est une chaine de caractère qui contient diverses Address de cellules au format R1C1
Ind un entier qui repère la position de l'adresse recherchée dans Zone
Pour l'instant ça ne marche que tant que les colonnes des cellules ne dépasse pas la 52ème (à partir du moment où les noms des en-têtes de cellules passent en BA...)
Franchement j'ai beau chercher je ne voit pas ce qui ne marche pas, ni comment faire plus simple
Merci pour toute aide ^_^