Vérifier le type d'une variable
Résolu/Fermé
VBAdebutant11
Messages postés
7
Date d'inscription
mercredi 10 décembre 2014
Statut
Membre
Dernière intervention
14 décembre 2014
-
12 déc. 2014 à 10:40
VBAdebutant11 Messages postés 7 Date d'inscription mercredi 10 décembre 2014 Statut Membre Dernière intervention 14 décembre 2014 - 14 déc. 2014 à 11:30
VBAdebutant11 Messages postés 7 Date d'inscription mercredi 10 décembre 2014 Statut Membre Dernière intervention 14 décembre 2014 - 14 déc. 2014 à 11:30
A voir également:
- Vérifier le type d'une variable
- Verifier un lien - Guide
- Vérifier si une phrase est correcte - Accueil - Google
- Verifier compatibilite windows 11 - Guide
- Clear type - Guide
- Vérifier mot de passe compromis - Guide
4 réponses
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
12 déc. 2014 à 10:55
12 déc. 2014 à 10:55
Bonjour,
Ce n'est pas une vérification de type de donnée dont tu as besoin car tu fais saisir une chaîne de caractères.
Il faut simplement que tu vérifies que la saisie est dans les limites du nombre de colonnes.
Majuscule(c)>="A" et <="XFD" pour xl 2010
Cdlt
Ce n'est pas une vérification de type de donnée dont tu as besoin car tu fais saisir une chaîne de caractères.
Il faut simplement que tu vérifies que la saisie est dans les limites du nombre de colonnes.
Majuscule(c)>="A" et <="XFD" pour xl 2010
Cdlt
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
Modifié par eriiic le 12/12/2014 à 16:13
Modifié par eriiic le 12/12/2014 à 16:13
Bonjour,
attention que "AAAA" < "XFD" est vrai
Tu pourrais utiliser :
pour tester la validité de la saisie selon la version d'excel utilisée.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
attention que "AAAA" < "XFD" est vrai
Tu pourrais utiliser :
IsError(Range(c & 1).Address)
pour tester la validité de la saisie selon la version d'excel utilisée.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
13 déc. 2014 à 03:33
13 déc. 2014 à 03:33
hé oui ...
Et "
cordialement
Et "
ATTENTIONACEQUETUECRISJVDO" n'est effectivement pas une colonne valide (pour l'instant!!!!!) dans excel.
cordialement
VBAdebutant11
Messages postés
7
Date d'inscription
mercredi 10 décembre 2014
Statut
Membre
Dernière intervention
14 décembre 2014
13 déc. 2014 à 20:35
13 déc. 2014 à 20:35
Merci pour votre aide précieuse !
Svp quelle est l'instruction exacte à faire dans cet exemple :
Dim c as string
Dim l as integer
c = Inputbox("Colonne de la cellule")
l = Inputbox ("Ligne de la cellule")
Do until IsError (Range(C & L).Address) = False
c = Inputbox("Colonne de la cellule")
l = Inputbox ("Ligne de la cellule")
Loop
Je veux vérifier que que Range(c & l) est bien une cellule
Merci d'avance.
Svp quelle est l'instruction exacte à faire dans cet exemple :
Dim c as string
Dim l as integer
c = Inputbox("Colonne de la cellule")
l = Inputbox ("Ligne de la cellule")
Do until IsError (Range(C & L).Address) = False
c = Inputbox("Colonne de la cellule")
l = Inputbox ("Ligne de la cellule")
Loop
Je veux vérifier que que Range(c & l) est bien une cellule
Merci d'avance.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
Modifié par eriiic le 13/12/2014 à 22:14
Modifié par eriiic le 13/12/2014 à 22:14
Ca pourrait être :
ou
Mais je te conseille de ne pas travailler avec c et l.
Travaille avec un range, et utilise .offset() pour le décaler.
cel.offset(5, -2) te fourni un range (une cellule) située 5 ligne en-dessous et 2 colonnes à gauche de cel (car négatif).
Si tu as du mal précise ton cas et on essaiera de t'éclairer. On a tous débuté, autant essayer de gagner du temps sur les bons reflexes ;-)
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Sub test() Dim c As String, l As Integer, ok As Boolean Do c = InputBox("reference de la cellule") On Error Resume Next ok = Not (IsError(Range(c).Address)) On Error GoTo 0 Loop Until ok l = Split(Range(c).Address, "$")(2) c = Split(Range(c).Address, "$")(1) End Sub
ou
Sub test2() Dim cel As Range Dim c As String Dim l As Integer Set cel = Application.InputBox("Cliquer la cellule", "Référence", , , , , , 8) c = Split(Range(c), "$")(0) l = Split(Range(c), "$")(1) End Sub
Mais je te conseille de ne pas travailler avec c et l.
Travaille avec un range, et utilise .offset() pour le décaler.
cel.offset(5, -2) te fourni un range (une cellule) située 5 ligne en-dessous et 2 colonnes à gauche de cel (car négatif).
Si tu as du mal précise ton cas et on essaiera de t'éclairer. On a tous débuté, autant essayer de gagner du temps sur les bons reflexes ;-)
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
VBAdebutant11
Messages postés
7
Date d'inscription
mercredi 10 décembre 2014
Statut
Membre
Dernière intervention
14 décembre 2014
14 déc. 2014 à 11:30
14 déc. 2014 à 11:30
Ca marche :) Merci beaucoup !