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

Résolu
remus69 Messages postés 5 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 25 mars 2013 - 25 mars 2013 à 18:19
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

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 mars 2013 à 19:33
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.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 mars 2013 à 18:37
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.
0
remus69 Messages postés 5 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 25 mars 2013
25 mars 2013 à 19:26
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?
0
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
Merci beaucoup ! :)
0
Rejoignez-nous