EXCEL : Test si valeur d'une cellule est de la forme d'une référence de cellule [Résolu]

Messages postés
5
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
25 mars 2013
- - Dernière réponse : remus69
Messages postés
5
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
25 mars 2013
- 25 mars 2013 à 19:59
Bonjour,

J'aimerais simplement savoir comment tester si la valeur d'une cellule (par exemple en A1) est de la forme d'une adresse de cellule (par exemple B4, B5, C67, etc.).

J'aimerais faire comme avec =ISREF(INDIRECT(A1)) mais en VBA, donc dans une macro.

Faut il utiliser une expression régulière?

Merci
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
213
3
Merci
De manière simple ! ====>>> une parmi des centaines possibles :
Une fonction bâclée, écrite à main levée : ===>>>
private function est_cellule(c As range) as boolean
  dim toto as string
  on error resume next
   toto = range(c.text).address
  if err then
    exit function
  else
    est_cellule = true
  end if
  on error goto 0
end function


msgbox est_cellule(range("B2"))
affichera vrai ou faux selon que B2 contient ou non une adresse valable de cellule !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.

Dire « Merci » 3

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

Codes Sources 206 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
213
0
Merci
Bonjour,
Tu peux toujours t'amuser à faire une analyse de la chaîne de caractères, mais il sera bien plus simple de t'intéresser à la gestion d'erreur
l'utilisation de Range("ABC"), par exemple, provoquerait une erreur puisque "ABC" ne saurait être une cellule.
Je te laisse d'abord te "dégourdir" sur ces bases.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
5
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
25 mars 2013
0
Merci
En gros, j'aimerais bien qqch du genre :

ElseIf Not (ISREF(INDIRECT(Position))) Then
MsgBox ("Veuillez entrer une véritable réference.")

mais en véritable syntaxe VBA !

donc comment puis je faire de la gestion d'erreur dans ce cas?
Commenter la réponse de remus69
Messages postés
5
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
25 mars 2013
0
Merci
Merci beaucoup ! :)
Commenter la réponse de remus69